无法获得variable.replace正常工作

chr*_*ley 0 python

我试图用python文件中的新字符串替换字符串,并将新字符串永久写入它.当我运行下面的脚本时,它会删除部分字符串而不是所有字符串.文件中的字符串是:

self.id = "027FC8EBC2D1"
Run Code Online (Sandbox Code Playgroud)

我必须替换字符串的脚本是:

def edit():

    o = open("test.py","r+") #open 
    for line in open("test.py"):   
        line = line.replace("027FC8EBC2D1","NewValue")  
        o.write(line) 
    o.close()

edit()
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

Dir*_*irk 5

除非替换值和原始值具有完全相同的长度,否则您无法安全地执行您想要执行的操作.除非得到保证,否则我会复制文件:

with open('input.txt', 'r') as in_file:
    with open('output.txt', 'w') as out_file:
        for line in in_file:
           line = line.replace('027FC8EBC2D1', 'NewValue')
           out_file.write(line)
Run Code Online (Sandbox Code Playgroud)

编辑(删除误导信息)