很抱歉在这里有假人问题。
在python中,我有一个输入文本文件,如此处的图片textfile,其中包括3个文本部分,我需要首先在文本的每个部分的底部找到所有包含以下内容的行: “ shsux / en”,然后在此部分下,我想循环查找所有以“ udp”和“ jkp”开头的行,并将整个部分输出到一个新的文本文件中。
但是我是Python的初学者,我不确定实现这一目标的最佳方法是什么。感谢任何善意的答复。
答案 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。