У меня есть код, который создает папку и помещает в нее выходные файлы. Я хочу использовать блок try-except-else и параметр перезаписи, для которого можно установить значение 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, и не кажется очень Pythonic.