我有以下代码:
with open("a.txt") as f:
data = f.read()
# operation on data
如果我的数据操作出现任何错误,这将关闭文件a.txt
。我想知道,如果文件a.txt
不存在会怎样。
我的代码应该是:
try:
with open("a.txt") as f:
data = f.read()
# operation on data
except IOError:
print "No such File"
答案 0 :(得分:0)
如果文件不存在,除非您使用try/except
,将引发错误,如果文件不存在,将不会打开任何内容,因此无法关闭任何内容。如果你想在文件不存在时捕获,你需要使用try。
如果要根据错误类型输出消息,可以检查错误:
try:
with open("a.txt") as f:
data = f.read()
except IOError as e:
if e.errno == 2:
print("No such File")
如果您想要创建该文件(如果该文件不存在或从中读取),您可以使用a+
:
with open("a.txt","a+") as f:
答案 1 :(得分:0)
您可以使用os.path
来验证文件路径是否存在,例如:
if os.path.exists('data.txt'):
with open('data.txt', 'r') as data:
# do stuff with file here