2016-12-22 216 views
2

我试图在文本文件中一次循环遍历N行。我如何遍历整个文件,例如说它有100行并一次打印10个。 这是我得到了多少。python循环遍历行数

N=10 
f=open("data.txt") 
for i in range(N): 
    line=f.next().strip() 
    print line 
f.close() 
+1

你能提供一个你想实现的输入/输出例子吗? – lmiguelvargasf

+2

“一次打印10份”和每行打印有什么区别? –

+1

相关:http://stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks –

回答

5

你可以将这个文件看作一个迭代器,只是需要在每次迭代从它额外的项目:

with open('data.txt') as f: 
    for line in f: 
     lines = [line] + [next(f) for _ in xrange(9)] # have 1 already, so need 9 
     # process lines 

如果你的文件长度是不是你的块大小整除,则可以使用next(f, None)代替,并在处理lines之前过滤出None

+0

谢谢,我该如何剥离换行\ n – BKCapri

+1

这将如果行数不能被整数步骤整除,则会引发StopIteration错误(至少在Python 3中)... – brianpck

+0

嗯,我正在使用python 2.7 – BKCapri