所以我试图清理一个我拥有的文本文件(它实际上是一个区域文件,可以加载到天文学适合查看器DS9)。我想删除/删除包含关键字" red"的所有行/(s)的全部内容。在其中,例如:
image;circle(2384.21957861,231.579450647,10.3410929712) # color = red text = {24}
有人知道如何在python中实现这一目标吗?
答案 0 :(得分:2)
打开一个outfile(outfile.txt)进行写入,打开输入文件(textfile.txt),逐行扫描输入文件,扫描关键字(红色)。如果行中没有红色,则将其写入outfile。
with open('outfile.txt', 'w') as o:
with open('textfile.txt') as f:
for line in f.readlines():
if 'red' not in line:
o.write(line)
确保文件与python脚本位于同一目录中。
答案 1 :(得分:0)
基于@algor建议的this answer,你可以尝试:
f = open("textfile.txt","r+")
d = f.readlines()
f.seek(0)
for line in d:
if 'red' not in line:
f.write(i)
f.truncate()
f.close()