def foo(directory):
filename = '' #dont like this
all_files = [get from somewhere]
try:
if 'foo' in all_files:
filename = 'foo'
else:
filename = all_files[0]
except ValueError:
logger.warning('Directory is empty')
finally:
return os.path.join(directory, filename)
所以,这就是我到目前为止所拥有的..有没有更好的方法来解决这个问题..我们要么返回一个值,要么记录一个错误。
这是比较容易来乞求宽恕,而不是允许。您可以对filename
变量使用条件赋值,如果这是错误的,则可以在变量周围发出警告。
根据您真正要完成的工作,可以使用的长度all_files
来查看目录是否真正为空。
def foo(directory):
all_files = [get from somewhere] or []
if len(all_files) == 0:
logger.warning('Directory is empty')
return ''
else:
filename = 'foo' if 'foo' in all_files else all_files[0]
return os.path.join(directory, filename)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句