在python中消除文件的一部分

2024-06-16 12:48:54 发布

您现在位置:Python中文网/ 问答频道 /正文

在下面的文件中,我有3次出现'.1'。我想删除最后一个文件,并将文件的其余部分写入一个新文件。请建议一些用PYTHON实现的方法,谢谢大家。你知道吗

d1dlwa_ a.1.1.1 (A:) Protozoan/bacterial hemoglobin {Ciliate (Paramecium caudatum) [TaxId: 5885]} slfeqlggqaavqavtaqfyaniqadatvatffngidmpnqtnktaaflcaalggpnawt


Tags: 文件方法建议taxidhemoglobinbacterialcaudatumparamecium
3条回答

如果文件不是太大,到目前为止最简单的方法是:

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()

适用于任何大小的文件:

open('newfile', 'w').writelines(line.replace('.1.1.1', '.1.1') 
                                for line in open('oldfile'))

你可以这样做:


line = line.split(" ")
line[0] = line[0][0:line[0].rindex(".")]
print " ".join(line)

不是最漂亮的代码,但是从我的控制台测试来看,它是有效的。你知道吗

相关问题 更多 >