我必须使用Python 2.5.2解决工作问题。我是Python的新手,并且非常重视这个资源。
我需要打印输入文件的一部分,从一行中的位置开始,打开所有剩余的行,直到达到/ eof。结果数据必须写入另一个文件。
我最关心的是阅读部分文件。在我的研究中,我承认已经不到一天,我还没有看到任何关于如何读取部分输入文件的参考。
任何建议都将不胜感激。可能是我的查询形式可能是问题所在,所以即使是该领域的建议也是受欢迎的。
答案 0 :(得分:0)
readlines()
读取文件并将每行存储在列表中。既然您想从索引开始并打印从索引到最后的所有内容,readlines()
似乎是首选方法。例如:
f = open('sample.txt', 'r')
lines = f.readlines() # read everything in the file and store it in a list
begin_at = 5 # just an example.
for i in range( begin_at, len(lines) ):
print lines[i]
如果内存是一个问题,如果您只想要缓冲区中的部分文件,则需要额外的工作。查看this blog post(特别是“方法3”)。
答案 1 :(得分:0)
如果您不想加载整个文件而只需要加载所需的部分,可以采用以下解决方法:
f = open('sample.txt', 'r')
start = 10 #start from the 10th line
for i in range(start):
f.next()
content = file.read()