我知道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/

10-16 19:49