我将从特定行开始读取文件,并一次读取N行。到目前为止,我一次读取N行数:
from itertools import islice
n = 10
with open(fname, 'r') as f:
while True:
next_n_lines = list(islice(f, n))
for line in next_n_lines:
print line.rstrip()
if not next_n_lines:
break
有关从特定行号开始阅读的任何帮助。
答案 0 :(得分:5)
使用itertools.islice
有一个简单的解决方案:
N = 100 # starting line number
n = 10 # size of a chunk
with open(fname) as f:
f = islice(f, N, None) # creates an iterator that starts after N lines
while True:
next_n_lines = list(islice(f, n))
for line in next_n_lines:
print line.rstrip()
if not next_n_lines:
break
答案 1 :(得分:0)
你能使用如下所示的fileinput吗?
startNo = 1
N = 10
for line in fileinput.input("fileName"):
if fileinput.lineno() > startNo + N:
break
if fileinput.lineno() >= startNo:
print fileinput.lineno(),line