2016-12-22 72 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