gpt4 book ai didi

python - 处理异常或返回值的更好方法

转载 作者:太空宇宙 更新时间:2023-11-04 08:59:01 25 4
gpt4 key购买 nike

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)

关于python - 处理异常或返回值的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27369817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com