如何在Python中重新打开文件?
假设我有一个简单的Python脚本:
file = open('C:\\some_text.txt')
print file.readlines()
print file.readlines()
当这个脚本运行时,第一次打印出来的是一个包含文件内容的列表,而第二次打印出来的是一个空列表。这也算是意料之中的事吧。不过,有没有办法把文件“倒回去”,让我可以再读一次呢?还是说最快的方法就是重新打开这个文件?
3 个回答
3
记住,你可以随时使用with语句来打开和关闭文件:
from __future__ import with_statement
with open('C:\\some_text.txt') as file:
data = file.readlines()
#File is now closed
for line in data:
print line
3
对于小文件来说,把文件的内容直接放在内存里可能会快很多。
file = open('C:\\some_text.txt')
fileContents = file.readlines()
print fileContents
print fileContents # This line will work as well.
当然,如果文件很大,这样做可能会占用很多内存。
82
你可以通过调用 seek()
来重置文件指针:
file.seek(0)
这样就可以了。你需要在第一次使用 readlines()
之后加上这一行。注意,file
必须支持随机访问,这样上面的操作才能奏效。