Python 处理异常或返回值的更好方法
所以,这是我到目前为止得到的。。 有没有更好的方法来处理这件事。。返回值或记录错误 请求原谅比请求允许容易。您可以对Python 处理异常或返回值的更好方法,python,Python,所以,这是我到目前为止得到的。。 有没有更好的方法来处理这件事。。返回值或记录错误 请求原谅比请求允许容易。您可以对文件名变量使用条件赋值,如果这是错误的,则可以在其周围发出警告 根据您真正想要完成的任务,您可以使用所有\u文件的长度来查看目录是否真正为空 def foo(directory): filename = '' #dont like this all_files = [get from somewhere] try: if 'foo' in a
文件名变量使用条件赋值,如果这是错误的,则可以在其周围发出警告
根据您真正想要完成的任务,您可以使用所有\u文件的长度来查看目录是否真正为空
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)
请求原谅比请求允许容易。您可以对文件名变量使用条件赋值,如果这是错误的,则可以在其周围发出警告
根据您真正想要完成的任务,您可以使用所有\u文件的长度来查看目录是否真正为空
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)
也许更好
可能更好…我不知道这将如何返回ValueError
。如果列表为空,则肯定是索引器
,但不是值错误
。如果所有文件都=5,则可能是(或者更可能是没有)?或者某个自定义类。。。我不知道我是不是要走了异常操作正在捕获我不知道如何返回ValueError
。如果列表为空,则肯定是索引器
,但不是值错误
。如果所有文件都=5,则可能是(或者更可能是没有)?或者某个自定义类。。。我不知道我是不是要走了异常操作正在捕获为什么需要filename=”“
。。。你说的是eafp,但用的是lbylP(+1,尽管如此)。。。但是,如果所有的_文件都是None
,这将引发异常(这可能是期望的行为),可能有更好的方法来处理这种情况,以及filename
的看似冗余的声明。当我到达一台机器时,我会试一试。为什么需要filename=”“
。。。你说的是eafp,但用的是lbylP(+1,尽管如此)。。。但是,如果所有的_文件都是None
,这将引发异常(这可能是期望的行为),可能有更好的方法来处理这种情况,以及filename
的看似冗余的声明。当我到达一台机器前,我会试一试。
def foo(directory):
all_files = [get from somewhere]
try:
filename = 'foo' if 'foo' in all_files else all_files[0]
except (IndexError,ValueError):
logger.warning('Directory is empty')
else:
return os.path.join(directory, filename)