我一直在努力做到这一点,但我对Python很陌生,并且无法弄清楚如何让它发挥作用。
我有这个:
import fileinput
for line in fileinput.input(['tooltips.txt'], inplace=True, backup="bak.txt"):
line.replace("oldString1", "newString1")
line.replace("oldString2", "newString2")
但它只删除了txt中的所有内容。
我做错了什么?
我尝试过print(line.replace(“oldString1”,“newString1”) 但它不会删除现有的单词。
正如我所说,我对此很陌生。 谢谢!
答案 0 :(得分:0)
一种简单的方法是使用open
函数和os
模块:
import os
with open(tmp_file) as tmp:
with open(my_file) as f:
for line in f.readlines():
tmp.write(line.replace("oldString1", "newString1").replace("oldString2", "newString2") + "\n")
os.remove(my_file)
os.rename(tmp_file, my_file)
答案 1 :(得分:0)
line.replace()
不会修改line
返回修改过的字符串
import fileinput, sys
for line in fileinput.input(['tooltips.txt'], inplace=True, backup="bak.txt"):
sys.stdout.write(line.replace("oldString1", "newString1"))