如果路径不存在,我正在尝试创建一个目录,但是! (不)运算符不起作用。我不确定如何在Python中否定...这样做的正确方法是什么?
if (!os.path.exists("/usr/share/sounds/blues")):
proc = subprocess.Popen(["mkdir", "/usr/share/sounds/blues"])
proc.wait()
答案 0 :(得分:179)
Python中的否定运算符是not
。因此,只需将!
替换为not
。
对于您的示例,请执行以下操作:
if not os.path.exists("/usr/share/sounds/blues") :
proc = subprocess.Popen(["mkdir", "/usr/share/sounds/blues"])
proc.wait()
对于您的具体示例(正如Neil在评论中所说),您不必使用subprocess
模块,只需使用os.mkdir()
即可获得所需的结果,并添加例外处理善良。
示例:
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.
答案 1 :(得分:26)
Python更喜欢英文关键字来标点符号。使用not x
,即not os.path.exists(...)
。对于&&
和||
,同样的事情也适用于Python中的and
和or
。
答案 2 :(得分:11)
尝试改为:
if not os.path.exists(pathName):
do this
答案 3 :(得分:1)
结合来自其他人的输入(不使用,不使用parens,使用os.mkdir
)你会得到......
specialpathforjohn = "/usr/share/sounds/blues"
if not os.path.exists(specialpathforjohn):
os.mkdir(specialpathforjohn)