2
我知道with
块会在您退出该块后自动调用close()
,并且通常用于确保不会忘记关闭文件。带块或close()更多Pythonic?
似乎有
with open(file, 'r+') as f:
do_things(f)
和
f = open(file, 'r+')
do_things(f)
f.close()
是一种方法比其他更Python之间没有技术上的差异?我应该在我的代码中使用哪一个?
还有就是两者之间巨大的技术差! 'with'版本确保'close()'被调用,即使'do_things()引发异常。你需要添加一个'try'和'finally'到另一个版本来匹配这个行为。 – jasonharper
FWIW,我不认为这个问题是重复的3012488.这些主题确实重叠,但另一个问题非常广泛,并没有具体说明哪种方法更适合关闭文件。 –