检查目录是否已经创建了python

use*_*579 3 python python-2.7

一个非常基本的问题,我有一个模块可以动态创建目录,但是,有时我想在一个目录中放置多个文件.如果发生这种情况,python会出现异常并说已经创建了dir,我该如何避免这种情况并检查dir是否已经创建?

保存模块看起来像这样:

def createdirs(realiz):
# Create all the necessary directories                                                                           
path = "./doubDifferences_probandamp_realiz%d/"%realiz
os.mkdir(path,0755)
directory = os.path.split(path)[0]
return directory
Run Code Online (Sandbox Code Playgroud)

在主程序上,我有这个:

for realiz in range(1,1000):
    for i in range(dim):
        for j in range(i+1,i+4):
            ...
            dirspaths = mod_savefile.createdirs(realiz)
Run Code Online (Sandbox Code Playgroud)

hiv*_*ert 7

你可以尝试一下,除了:

try:
    os.mkdir(path,0755)
except OSError:
    pass 
Run Code Online (Sandbox Code Playgroud)

"比许可更容易请求宽恕!"

此方法在执行之前测试目录更安全mkdir.实际上,很可能在两个os调用之间隐含,ispath并且mkdir目录可能已被另一个线程创建或销毁.