2013-04-18 24 views
1

我注意到,我可以打开这样的文件:与开放(名称,“RB”)作为F不需要关闭我对吗?

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

而另一种方法:

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

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

回答

5

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

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

0

我同意@ankit,因为与您一起使用即使在例外的情况下也不需要记住释放宝贵的资源。欲了解更多信息,你可以看看这documentation

干杯!

+1

这会对Ankit的答案做出很好的评论;它本身就是一种多余的答案。 – 2013-04-18 04:10:26

+0

感谢您的文档〜太好了! – socket 2013-04-18 04:41:17

相关问题