0

私はこれをやろうとしてきましたが、私は 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") を試しましたが、既存の単語は削除されません。

私が言ったように、私はこれでかなり新しいです。ありがとう!

4

2 に答える 2

0

これを行う簡単な方法の 1 つは、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)
于 2013-07-30T23:50:54.573 に答える
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"))
于 2013-07-30T23:50:55.810 に答える