python一次遍历行数

python一次遍历行数,python,python-2.7,loops,Python,Python 2.7,Loops,我试图在文本文件中一次循环N行。我如何循环浏览整个文件,比如说它有100行,一次打印10行。 这就是我走了多远 N=10 f=open("data.txt") for i in range(N): line=f.next().strip() print line f.close() 您可以将该文件视为迭代器,并在每次迭代时从中获取额外的项: with open('data.txt') as f: for line in f: lines =

我试图在文本文件中一次循环N行。我如何循环浏览整个文件,比如说它有100行,一次打印10行。 这就是我走了多远

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

您可以将该文件视为迭代器,并在每次迭代时从中获取额外的项:

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)
代替,并在处理
行之前过滤掉
None
s

您可以提供一个输入/输出示例来说明您想要实现的目标吗?一次打印10有什么区别并且只打印每一行?相关:如果行计数不能被步骤整除,这将引发
StopIteration
错误(至少在Python 3中是这样)…@brianpck在这种情况下,您可以使用
next(f,None)
。我更新了答案以反映这一点。@BKCapri-删除新行:
lines=[line.strip()用于line-in-line]
@arshajii-也许
lines=[line]+list(迭代器.islice(f,0,9))
。这可能会解决不可平均分割的问题。