繁体   English   中英

重新打开Python中的文件?

[英]Re-open files in Python?

说我有这个简单的python脚本:

file = open('C:\\some_text.txt')
print file.readlines()
print file.readlines()

运行该文件时,第一个打印文件将打印一个包含文件文本的列表,而第二个打印文件将打印一个空白列表。 我猜不是完全出乎意料的。 但是,有没有一种方法可以“回退”文件,以便我可以再次读取它? 还是最快的方法只是重新打开它?

您可以通过调用seek()来重置文件指针:

file.seek(0)

会做的。 在您的第一个readlines()之后,您需要该行。 请注意,该file必须支持随机访问才能正常工作。

对于小文件,将文件内容保留在内存中可能要快得多

file = open('C:\\some_text.txt')
fileContents = file.readlines()
print fileContents
print fileContents # This line will work as well.

当然,如果文件很大,这可能会给您的RAM造成压力。

请记住,您始终可以使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM