python打开一个文件并替换内容

时间:2015-07-13 03:55:13

标签: python file replace substitution

我想打开一个txt文件,将所有“hello”替换为“love”并保存,不要创建新文件。只需修改同一个txt文件中的内容即可。

我的代码可以在“你好”之后添加“爱”,而不是替换它们。

任何方法都可以修复它吗?

这么多

f = open("1.txt",'r+')
con = f.read()
f.write(re.sub(r'hello','Love',con))
f.close()

2 个答案:

答案 0 :(得分:0)

读取文件后,文件指针位于文件末尾;如果你写的话,你会追加到文件的末尾。你想要像

这样的东西
f = open("1.txt", "r")  # open; file pointer at start
con = f.read()          # read; file pointer at end
f.seek(0)               # rewind; file pointer at start
f.write(...)            # write; file pointer somewhere else
f.truncate()            # cut file off in case we didn't overwrite enough

答案 1 :(得分:0)

您可以创建一个新文件并替换第一个中找到的所有单词,然后在第二个单词中写入。见How to search and replace text in a file using Python?

applicationId

或者,您可以使用fileinput

f1 = open('file1.txt', 'r')
f2 = open('file2.txt', 'w')
for line in f1:
    f2.write(line.replace('old_text', 'new_text'))
f1.close()
f2.close()