提取两个相同字符串之间的行?

由于我有一个很大的文件(几个 GB),我不想将整个文件加载到内存中,而是使用 *generators 逐行加载。我的文件是这样的:


# millions of lines

..................

..................

keyw 28899

2233 121 ee 0o90 jjsl

2321 232 qq 0kj9 jksl

keyw 28900

3433 124 rr 8hu9 jkas

4532 343 ww 3ko9 aslk

1098 115 uy oiw8 rekl

keyw 29891

..................

..................

# millions more

到目前为止,我在这里找到了类似的答案。但我迷失了如何实施它。因为 ans 有特定的标识符Startand Stop,而我的文件有一个带有相同关键字的增量编号。我想在这方面得到一些帮助。


慕斯709654
浏览 168回答 1
1回答

婷婷同学_

如果您想调整该答案,这可能会有所帮助:bucket = []for line in infile:    if line.split()[0] == 'keyw':        for strings in bucket:            outfile.write( strings + '\n')        bucket = []        continue    bucket.append(line.strip())
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python