【发布时间】:2012-04-11 18:19:42
【问题描述】:
我在 python 中编写了一个小程序,我需要打开许多文件并在稍后阶段关闭它,我将所有文件句柄存储在一个列表中,以便以后可以参考它进行关闭。
在我的程序中,我将所有文件句柄 (fout) 存储在列表 foutList[]
for cnt in range(count):
fileName = "file" + `cnt` + ".txt"
fullFileName = path + fileName
print "opening file " + fullFileName
try:
fout = open(fullFileName,"r")
foutList.append(fout)
except IOError as e:
print "Cannot open file: %s" % e.strerror
break
有人建议我不要将它存储在列表中,但没有给我原因。谁能解释为什么不建议将其存储在 List 中,以及其他可能的方法是什么?
【问题讨论】:
-
你也许可以创建一个函数,而不是返回 foutList,而是每次使用 pythons yield 返回 fout。例如“让步”
标签: python file-handling