我目前正在使用Python编写一个小脚本,以便在我们的一台服务器上使用。服务器只安装了Python 2.4.4。
我直到2.5版本才开始使用Python,所以我已经习惯了这种形式:
with open('file.txt', 'r') as f:
# do stuff with f
然而,在2.5之前没有with
语句,并且我很难找到关于手动清理文件对象的正确方法的示例。
在使用旧版本的python时,安全处理文件对象的最佳实践是什么?
发布于 2015-02-23 20:31:19
在上面的解决方案中,重复如下:
f = open('file.txt', 'r')
try:
# do stuff with f
finally:
f.close()
如果有不好的事情发生(你永远不会知道……)成功打开文件后,在尝试之前,文件将不会关闭,因此更安全的解决方案是:
f = None
try:
f = open('file.txt', 'r')
# do stuff with f
finally:
if f is not None:
f.close()
发布于 2014-04-15 15:10:05
下面是如何使用open
和"python close
“的示例
from sys import argv
script,filename=argv
txt=open(filename)
print "filename %r" %(filename)
print txt.read()
txt.close()
print "Change the file name"
file_again=raw_input('>')
print "New file name %r" %(file_again)
txt_again=open(file_again)
print txt_again.read()
txt_again.close()
您必须打开文件多少次才能关闭该文件。
https://stackoverflow.com/questions/3770348
复制相似问题