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

如何在python中覆盖文本文件的特定部分,python,file,Python,File,例如,如果在我的文本文件中 爆炸、炸弹、鸭子 吉姆,山姆,丹尼尔 我想更改文件中的Daniel,这样就不会影响其他内容。如何在不覆盖整个文件的情况下实现这一点。如果要先获取最后一个元素,则需要read()方法,该方法只需从文件中读取,然后将其拆分(逗号是分隔符),并使用slice[:-1]可以使用fileinput import fileinput with fileinput.FileInput(fileToSearch, inplace=True, backup='.bak') as fi

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

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


我想更改文件中的Daniel,这样就不会影响其他内容。如何在不覆盖整个文件的情况下实现这一点。

如果要先获取最后一个元素,则需要read()方法,该方法只需从文件中读取,然后将其拆分(逗号是分隔符),并使用slice[:-1]

可以使用
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()

你试过什么?如果你不表现出努力,大多数人都不会愿意帮助你解决问题。哦,我知道了,我对这一点很陌生,但我尝试过的每一件事我都摆脱了,因为它不起作用。很抱歉,我想说使用
拆分
,然后搜索每个索引,但你的想法更好,搜索每个索引也会起作用,但这需要做更多的工作。这是一个有点愚蠢的问题,但f2在程序中做什么呢?读取操作如果在f1中完成,那么取行,使用替换函数并在f2中写入新的替换项…如果你想这样做…否则继续1st@Decapython不允许使用
'rw'
对象吗?
f = open('name.txt','rb+')
for line in f:
    line.replace('change','Daniel')
    f.write(line)
f.close()