一个非常基本的问题,我有一个模块可以动态创建目录,但是,有时我想在一个目录中放置多个文件.如果发生这种情况,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)
你可以尝试一下,除了:
try:
os.mkdir(path,0755)
except OSError:
pass
Run Code Online (Sandbox Code Playgroud)
"比许可更容易请求宽恕!"
此方法在执行之前测试目录更安全mkdir.实际上,很可能在两个os调用之间隐含,ispath并且mkdir目录可能已被另一个线程创建或销毁.
| 归档时间: |
|
| 查看次数: |
187 次 |
| 最近记录: |