Estoy tratando de crear un directorio si la ruta no existe, pero el! (no) el operador no funciona. No estoy seguro de cómo negar en Python ... ¿Cuál es la forma correcta de hacer esto?
if (!os.path.exists("/usr/share/sounds/blues")):
proc = subprocess.Popen(["mkdir", "/usr/share/sounds/blues"])
proc.wait()
os.mkdir()
?Respuestas:
El operador de negación en Python es
not
. Por lo tanto, simplemente reemplace su!
connot
.Para su ejemplo, haga esto:
Para su ejemplo específico (como dijo Neil en los comentarios), no tiene que usar el
subprocess
módulo, simplemente puede usarloos.mkdir()
para obtener el resultado que necesita, con la bondad de manejo de excepciones adicional.Ejemplo:
fuente
Python prefiere las palabras clave en inglés a la puntuación. Uso
not x
, es decirnot os.path.exists(...)
. Lo mismo ocurre con&&
y||
cuáles sonand
yor
en Python.fuente
intente en su lugar:
fuente
Combinando la entrada de todos los demás (use not, no parens, use
os.mkdir
) obtendría ...fuente