消除python中的部分文件

时间:2009-08-13 22:21:00

标签: python file

在下面的文件中,我出现了3次“.1”。我想删除最后一个并将其余文件写入新文件。请在PYTHON中建议一些方法,谢谢大家。

  

d1dlwa_ a.1.1.1(A :)原生动物/细菌血红蛋白{Ciliate(Paramecium caudatum)[TaxId:5885]}   slfeqlggqaavqavtaqfyaniqadatvatffngidmpnqtnktaaf​​lcaalggpnawt

3 个答案:

答案 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)

不是最漂亮的代码,但是从我的控制台测试中,它可以工作。