python中处理读取可能不存在的文件的最佳方法是什么?
目前我有以下内容:
try:
with open(filename, "r") as f:
return f.read()
except IOError:
return False
这是最好的方法还是在任何层面上都是错误的?
我想我最大的担忧是:
- 捕获异常仅返回 false
- 也许我错过了一种“Python”方式默默地错过丢失文件的错误
python中处理读取可能不存在的文件的最佳方法是什么?
目前我有以下内容:
try:
with open(filename, "r") as f:
return f.read()
except IOError:
return False
这是最好的方法还是在任何层面上都是错误的?
我想我最大的担忧是:
A try
/except
确实是最好的方法。
import os
if os.path.isfile('./file.txt'):
# do something with the file
try except 块将捕获错误,但您可能不想抑制错误。
如果您正在编写一个返回从文件读取的内容的函数,那么它会更明智,return ''
而不是False
. 函数只返回一种类型通常是个好主意。就像是:
try:
with open(filename) as f:
return f.read()
except IOError:
return ''
确实,您似乎是在通过返回来发出错误信号。如果是这样,您通常最好让异常传播到函数之外。使用返回值来表示异常情况并不是 Pythonic。