我在文本文件中有两行文本文件:
<BLAHBLAH>483920349<FOOFOO>
<BLAHBLAH>4493<FOOFOO>
这是文本文件中唯一的东西。使用python,我想写入文本文件,以便我可以从每一行中带走BLAHBLAH和FOOFOO。这似乎是一个简单的任务,但刷新我的文件操作后,我似乎无法找到一种方法来做到这一点。 非常感谢帮助:)
谢谢!
答案 0 :(得分:5)
如果它是您所说的文本文件,而不是HTML / XML /其他内容,请使用replace:
for line in infile.readlines():
cleaned_line = line.replace("BLAHBLAH","")
cleaned_line = cleaned_line.replace("FOOFOO","")
并将cleaned_line
写入输出文件。
答案 1 :(得分:3)
f = open(path_to_file, "w+")
f.write(f.read().replace("<BLAHBLAH>","").replace("<FOOFOO>",""))
f.close()
更新(保存到另一个文件):
f = open(path_to_input_file, "r")
output = open(path_to_output_file, "w")
output.write(f.read().replace("<BLAHBLAH>","").replace("<FOOFOO>",""))
f.close()
output.close()
答案 2 :(得分:1)
考虑正则表达式模块重新。
result_text = re.sub('<(.|\n)*?>',replacement_text,source_text)
识别&lt; 和&gt; 中的字符串。它是非贪婪的,即它将接受最小可能长度的子串。例如,如果您有“&lt; 1&gt; text&lt; 2&gt; more text”,则贪婪的解析器会接收“&lt; 1&gt; text&lt; 2&gt;” ,但非贪婪的解析器接受“&lt; 1&gt;”和“&lt; 2&gt;”。
当然,您的replacement_text将是'',source_text将是文件中的每一行。