我有一些代码可以创建一个文件夹并在其中放置输出文件。我想使用try except else块和overwrite选项(可以设置为True或False),以便在文件夹已经存在且overwrite设置为False的情况下,它只打印文件夹已经存在,而在其他所有情况下,它将不加注释地执行。在
到目前为止,我提出的唯一解决方案如下:
def function( parameters, overwrite = False ):
try:
os.makedirs( dir )
except OSError:
if overwrite:
data making code...
else:
print dir + ' already exists, skipping...'
else:
if overwrite:
data making code...
有没有更好的,或者更优雅的方法来解决这个问题?比如说,我不需要复制我的数据生成代码?这样做让我想起了我不得不用C写一些东西的风格,而且看起来不太像Python。在
(根据丹尼尔·迪波洛的回答)
你已经很接近了。适应from this answer:
我不明白为什么您需要在
try
块上使用else
。在您可以使用
^{pr2}$makedirs
来测试目录是否存在。在这种情况下:您可能还需要检查路径是否存在,但它是一个文件而不是一个目录。在
相关问题 更多 >
编程相关推荐