我想打開一個txt文件並將所有「hello」替換爲「love」並保存,並且不要創建一個新文件。只需修改同一個txt文件中的內容即可。python打開一個文件並替換內容
我的代碼只是在「你好」之後添加「愛」,而不是替代它們。
任何方法可以解決它?
THX這麼多
f = open("1.txt",'r+')
con = f.read()
f.write(re.sub(r'hello','Love',con))
f.close()
我想打開一個txt文件並將所有「hello」替換爲「love」並保存,並且不要創建一個新文件。只需修改同一個txt文件中的內容即可。python打開一個文件並替換內容
我的代碼只是在「你好」之後添加「愛」,而不是替代它們。
任何方法可以解決它?
THX這麼多
f = open("1.txt",'r+')
con = f.read()
f.write(re.sub(r'hello','Love',con))
f.close()
在閱讀文件,文件指針是在文件的結尾;如果你寫的話,你會追加到文件的末尾。你要像
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
您可以創建一個新的文件,並替換您在第一次找到所有的話,他們在第二記錄。見How to search and replace text in a file using Python?
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()
或者,你可以使用fileinput
import fileinput
for line in fileinput.FileInput("file",inplace=1):
line = line.replace("hello","love")
http://stackoverflow.com/questions/2424000/read-and-overwrite-a-file-in-python – Blorgbeard
也許這有你的問題的答案[如何使用Python搜索和替換文件中的文本?](http://stackoverflow.com/questions/17140886/how-to-search-and-replace-text-in-a-file- using-python) – GAVD