Python中的否定

我试图创build一个目录如果path不存在,但! (不)操作员不工作。 我不知道如何在Python中否定…什么是正确的方法来做到这一点?

if (!os.path.exists("/usr/share/sounds/blues")): proc = subprocess.Popen(["mkdir", "/usr/share/sounds/blues"]) proc.wait() 

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()模块,你可以简单地使用os.mkdir()来获得你需要的结果,并增加exception处理的好处。

例:

 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. 

Python更喜欢用英文关键词来标点符号。 使用not x ,即not os.path.exists(...)&&|| 这是andor在Python中。

试试:

 if not os.path.exists(pathName): do this 

结合其他人的input(不使用,没有os.mkdir ,使用os.mkdir ),你会得到…

 specialpathforjohn = "/usr/share/sounds/blues" if not os.path.exists(specialpathforjohn): os.mkdir(specialpathforjohn)