gpt4 book ai didi

python - 使用 Python 'with' 语句时捕获异常

转载 作者:IT老高 更新时间:2023-10-28 12:11:07 30 4
gpt4 key购买 nike

我不知道如何处理 python 'with' 语句的异常。如果我有代码:

with open("a.txt") as f:
print f.readlines()

我真的很想处理“文件未找到异常”以做某事。但我不会写

with open("a.txt") as f:
print f.readlines()
except:
print 'oops'

不能写

with open("a.txt") as f:
print f.readlines()
else:
print 'oops'

在 try/except 语句中包含 with 也不起作用,并且不会引发异常。为了以 Pythonic 方式处理 with 语句中的失败,我该怎么做?

最佳答案

from __future__ import with_statement

try:
with open( "a.txt" ) as f :
print f.readlines()
except EnvironmentError: # parent of IOError, OSError *and* WindowsError where available
print 'oops'

如果您希望对公开调用和工作代码中的错误进行不同的处理:

try:
f = open('foo.txt')
except IOError:
print('error')
else:
with f:
print f.readlines()

关于python - 使用 Python 'with' 语句时捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/713794/

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