在Python(> 2.7)中执行代码:
open('tick.001', 'w').write('test')
的结果与:
相同ftest = open('tick.001', 'w')
ftest.write('test')
ftest.close()
在哪里可以找到有关此内联函数的'close'的文档?
答案 0 :(得分:23)
当close()
对象从内存中释放时,会发生file
,作为其删除逻辑的一部分。因为其他虚拟机上的现代Pythons(如Java和.NET)无法控制何时从内存中释放对象,所以如果没有open()
,它就不再被认为是close()
的好Python。今天的建议是使用with
语句,该语句在退出块时显式请求close()
:
with open('myfile') as f:
# use the file
# when you get back out to this level of code, the file is closed
如果您不需要文件的名称f
,那么您可以从语句中省略as
子句:
with open('myfile'):
# use the file
# when you get back out to this level of code, the file is closed