打开(名称,“rb”)作为f不需要关闭我是对的吗?

时间:2013-04-18 03:45:27

标签: python

我注意到我可以打开这样的文件:

f=open("a.dat","rb")

另一种方法:

with open("a.dat","rb") as f:

在我看来,如果我使用第一个,我必须调用f.close()函数,而第二个方法不需要。我对吗?或者会有更好的方法?哪一个最好在python中打开一个文件?感谢; - )

2 个答案:

答案 0 :(得分:5)

是的,您不需要关闭由with块处理的文件。如果在块结束之前发生异常,它将在异常被外部异常处理程序捕获之前关闭该文件。

由于python 2.5(引入with语句时)使用with语句和文件操作是一种更好的方法。

答案 1 :(得分:0)

我同意@ankit,因为即使在例外的情况下使用你也不需要记住释放宝贵的资源。有关详细信息,请查看此documentation

干杯!