我知道with
块在退出该块后会自动调用close()
,并且通常用于确保不会忘记关闭文件。
似乎之间没有技术上的区别
with open(file, 'r+') as f:
do_things(f)
和
f = open(file, 'r+')
do_things(f)
f.close()
一种方法比其他方法更具Pythonic吗?我应该在代码中使用哪个?
最佳答案
一种方法比其他方法更具Pythonic吗?
是的,首选with语句形式,它将文件管理逻辑封装到一行代码中。改进了业务逻辑与管理逻辑的比率,使程序更易于阅读和推理。
根据PEP 343,声明的预期目的是:
This PEP adds a new statement "with" to the Python language to make
it possible to factor out standard uses of try/finally statements.
关于python - with block或close()是否更像Pythonic?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44223150/