在下面的文件中,我出现了3次“.1”。我想删除最后一个并将其余文件写入新文件。请在PYTHON中建议一些方法,谢谢大家。
d1dlwa_ a.1.1.1(A :)原生动物/细菌血红蛋白{Ciliate(Paramecium caudatum)[TaxId:5885]} slfeqlggqaavqavtaqfyaniqadatvatffngidmpnqtnktaaflcaalggpnawt
答案 0 :(得分:7)
如果文件不是太大,到目前为止最简单的方法是:
f = open('oldfile', 'r')
data = f.read()
f.close()
data = data.replace('.1.1.1', '.1.1')
f = open('newfile', 'w')
f.write(data)
f.close()
如果文件非常庞大,您需要阅读并按件编写。例如,如果每个行不是太可怕了:
inf = open('oldfile', 'r')
ouf = open('newfile', 'w')
for line in inf:
line = line.replace('.1.1.1', '.1.1')
ouf.write(line)
ouf.close()
inf.close()
答案 1 :(得分:4)
适用于任何大小的文件:
open('newfile', 'w').writelines(line.replace('.1.1.1', '.1.1')
for line in open('oldfile'))
答案 2 :(得分:0)
你可以这样:
line = line.split(" ")
line[0] = line[0][0:line[0].rindex(".")]
print " ".join(line)
不是最漂亮的代码,但是从我的控制台测试中,它可以工作。