0
我有一个包含以下形式n
行文本的文本文件:如何从文件中有效地提取每一对连续的行?
line_1
line_2
line_3
.
.
.
line_n_minus_1
line_n
我希望提取每个连续对线(即line_1
和line_2
,line_2
和line_3
等等,直到line_n_minus_1
和line_n
),对每个提取的对执行一些操作,并继续执行此操作直到line_n_minus_1
和line_n
。我将如何高效地为大文件做这件事?
这是我脑子里想的:
from itertools import tee, izip
def pairwise(iterable):
"s -> (s0,s1), (s1,s2), (s2, s3), ..."
a, b = tee(iterable)
next(b, None)
return izip(a, b)
with open("file.txt","r") as f:
list_of_lines = f.readlines()
for i in pairwise(list_of_lines):
# do something with the pair tuple i
但是,我讨厌被依靠readlines()
,因为我可能要与大的文本文件的工作。有没有更好的方法来做到这一点?
谢谢!这帮了很多。 –