python中处理可能不存在的文件的最佳方法是什么?
目前我有以下内容:
try:
with open(filename, "r") as f:
return f.read()
except IOError:
return False
这是最好的方法,还是在任何级别上都是错误的?
我想我最担心的是:
答案 0 :(得分:9)
try
/ except
确实是最好的方式。
答案 1 :(得分:1)
try except block会捕获错误,但您可能不想抑制错误。
如果您正在编写一个返回从文件中读取的内容的函数,那么return ''
而不是False
会更明智。函数通常只返回一种类型是个好主意。类似的东西:
try:
with open(filename) as f:
return f.read()
except IOError:
return ''
实际上,您似乎在发出错误信号并返回。如果是这样,通常最好让异常传播出函数。使用返回值来表示异常情况并不是pythonic。
答案 2 :(得分:0)
import os
if os.path.isfile('./file.txt'):
# do something with the file