gpt4 book ai didi

Python:从一个文件中选择一系列行并将其复制到另一个文件

转载 作者:太空宇宙 更新时间:2023-11-03 16:19:16 25 4
gpt4 key购买 nike

我有一个文件,我想选择文件中的某些行并将其复制到另一个文件。

在第一个文件中,我要复制的行包含单词“XYZ”,从这里我想选择接下来的 200 行(包括匹配行)并将其复制到另一个文件。

下面是我的代码

match_1 = 'This is match word'
with open('myfile.txt') as f1:
for num, line in enumerate(f1, 1):
if log_1 in line:
print line

上面的代码引导我到行的开头,我需要从匹配的行中选择 200 行,然后复制、移动到另一个文本文件。

我尝试了几个选项,例如 while 语句,但我无法完全构建逻辑。请帮助

最佳答案

一旦找到匹配项,您就可以在文件对象上使用itertools.islice:

from itertools import islice

# some code before matching line is found
chunk = line + ''.join(islice(f1, 200))

这将消耗迭代器 f1 到接下来的 200 行,因此如果将其放入循环中,循环中的 num 计数可能会不一致。

如果在找到匹配项后不需要文件中的其他行,则可以使用:

from itertools import islice

with open('myfile.txt') as f1, open('myotherfile.txt') as f_out:
for num, line in enumerate(f1, 1):
if log_1 in line:
break
chunk = line + ''.join(islice(f1, 200))
f_out.write(chunk)

关于Python:从一个文件中选择一系列行并将其复制到另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38656396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com