L'opérateur de négation en Python est not
. Il suffit donc de remplacer votre !
con not
.
Pour votre exemple, faites ceci :
if not os.path.exists("/usr/share/sounds/blues") :
proc = subprocess.Popen(["mkdir", "/usr/share/sounds/blues"])
proc.wait()
Pour votre exemple spécifique (comme Neil l'a dit dans les commentaires), vous n'avez pas besoin d'utiliser la fonction subprocess
vous pouvez simplement utiliser os.mkdir()
pour obtenir le résultat dont vous avez besoin, avec une meilleure gestion des exceptions.
Ejemplo:
blues_sounds_path = "/usr/share/sounds/blues"
if not os.path.exists(blues_sounds_path):
try:
os.mkdir(blues_sounds_path)
except OSError:
# Handle the case where the directory could not be created.
20 votes
D'ailleurs, pourquoi ne pas utiliser l'outil Python
os.mkdir()
?1 votes
Je ne connaissais pas la fonction os.mkdir(), même si je pensais qu'il existait quelque chose de ce genre.
2 votes
C'est mieux ici de juste
try: os.mkdir(path)
et traiter l'erreur. Si vous vérifiez d'abord ("regarder avant de sauter"), quelqu'un d'autre peut créer ou supprimer ce dossier après votre vérification (mais avant que vous ne le créiez), et il pourrait toujours y avoir une erreur. La vérification ne garantit rien au moment de la création. Cette idée est parfois appelée "Il est plus facile de demander le pardon que la permission . Encore mieux (mais encore plus spécifique à ce problème), vous pouvez faireos.makedirs(path, exist_ok=True)
pour créer le chemin et ignorer unFileExistsError
.