打印部分输入文件

时间:2013-11-17 07:40:16

标签: python

我必须使用Python 2.5.2解决工作问题。我是Python的新手,并且非常重视这个资源。

我需要打印输入文件的一部分,从一行中的位置开始,打开所有剩余的行,直到达到/ eof。结果数据必须写入另一个文件。

我最关心的是阅读部分文件。在我的研究中,我承认已经不到一天,我还没有看到任何关于如何读取部分输入文件的参考。

任何建议都将不胜感激。可能是我的查询形式可能是问题所在,所以即使是该领域的建议也是受欢迎的。

2 个答案:

答案 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()