我想类似的事情应该做。它基本上将内容写入新文件,并用新文件替换旧文件:
from tempfile import mkstempfrom shutil import move, copymodefrom os import fdopen, removedef replace(file_path, pattern, subst): #Create temp file fh, abs_path = mkstemp() with fdopen(fh,'w') as new_file: with open(file_path) as old_file: for line in old_file: new_file.write(line.replace(pattern, subst)) #Copy the file permissions from the old file to the new file copymode(file_path, abs_path) #Remove original file remove(file_path) #Move new file move(abs_path, file_path)



