Python:从文本文件中提取节并将其写入新的单独文本文件

时间:2018-12-04 15:46:18

标签: python loops text filter line

很抱歉在这里有假人问题。

在python中,我有一个输入文本文件,如此处的图片textfile,其中包括3个文本部分,我需要首先在文本的每个部分的底部找到所有包含以下内容的行: “ shsux / en”,然后在此部分下,我想循环查找所有以“ udp”和“ jkp”开头的行,并将整个部分输出到一个新的文本文件中。

但是我是Python的初学者,我不确定实现这一目标的最佳方法是什么。感谢任何善意的答复。

2 个答案:

答案 0 :(得分:1)

像这样吗?

file1 = open('file1.txt', 'w')

with open('source.txt', 'r') as source_file:
    for line in source_file:
        if 'shsux' in line:
            file1.write(line)
        # Same for other files...

file1.close()

答案 1 :(得分:0)

我会做这样的事情:

out_big = f.open(first_output_file, "w")
out_small_1 = f.open(second_output_file, "w")
out_small_2 = f.open(third_output_file, "w")
with open(source_file, "r") as f:
    for line in f:
        if "shsux" in line:
            out_big.write(line)
            if line.startswith("udp"):
                out_small_1.write(line)
            elif line.startswith("jkp"):
                out_small_2.write(line)
out_big.close()
out_small_1.close()
out_small_2.close()

但是我认为带有“ shsux”的大文件不是必需的,因此您可以跳过它。

对不起,犯了一个错误,并使用了endswith()而不是startswith。