例如,如果在我的文本文件中,我有
爆炸,炸弹,鸭子吉姆,山姆,丹尼尔
和我想改变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()