python一次遍历行数
我试图在文本文件中一次循环N行。我如何循环浏览整个文件,比如说它有100行,一次打印10行。 这就是我走了多远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=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))
。这可能会解决不可平均分割的问题。