我想打开一个txt文件,将所有“hello”替换为“love”并保存,不要创建新文件。只需修改同一个txt文件中的内容即可。
我的代码可以在“你好”之后添加“爱”,而不是替换它们。
任何方法都可以修复它吗?
这么多
f = open("1.txt",'r+')
con = f.read()
f.write(re.sub(r'hello','Love',con))
f.close()
答案 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()