如何在python中覆盖到文本文件的特定部分



例如,如果在我的文本文件中,我有

爆炸,炸弹,鸭子吉姆,山姆,丹尼尔

和我想改变Daniel在那个文件中,所以没有什么会受到影响。在不覆盖整个文件的情况下,我如何才能做到这一点?

您可以使用fileinput

import fileinput
with fileinput.FileInput(fileToSearch, inplace=True, backup='.bak') as file:
    for line in file:
        print(line.replace(textToSearch, textToReplace), end='')
        #testToSearch:- Daniel 
        #textToReplace:- newName

或者,如果您想让它更简单,只需从一个文件中读取操作,并将替换的内容写入另一个文件。然后重写它!

f1 = open('orgFile.txt', 'r')
f2 = open('orgFileRep.txt', 'w')
for line in f1:
    f2.write(line.replace('textToSearch', 'textToReplace'), end=' ')
f1.close()
f2.close()

如果你想先得到最后一个元素,你需要read()方法,它只是从文件中读取然后分割它(逗号是分隔符),并使用slice [:-1]

f = open('name.txt','rb+')
for line in f:
    line.replace('change','Daniel')
    f.write(line)
f.close()

相关内容

  • 没有找到相关文章

最新更新