【发布时间】:2010-11-25 07:27:54
【问题描述】:
读取文件内容:
data = open(filename, "r").read()
打开的文件立即停止在任何地方被引用,因此文件对象最终将关闭......并且它不应该影响使用它的其他程序,因为该文件只打开用于读取,而不是写入。
编辑:这实际上在我写的一个项目中咬了我——它促使我问this 问题。只有在内存不足时才会清理文件对象,而不是在文件句柄用完时。因此,如果您过于频繁地执行此操作,最终可能会耗尽文件描述符并导致 IO 尝试打开文件时引发异常。
【问题讨论】:
-
请注意,这会将整个文件读入内存,无论它有多大。因此,请确保它是您可以处理的文件。除此之外,我同意答案。
-
@balpha:但答案是相互矛盾的。 ;)(我想你是在所有答案都出来之前发表评论的。)
标签: python file file-io coding-style