如何通过python替换单词?

问题描述:

有一个文本文件,我想通过Python另一个替换词,
我不喜欢这样写道:如何通过python替换单词?

demo.py

def modify_text(): 
    with open('test.txt', "r+") as f: 
     read_data = f.read() 
     f.truncate() 
     f.write(read_data.replace('apple', 'pear')) 

运行上面的功能,将追加内容进入test.txt,原始内容仍然存在,f.truncate()不起作用,我想删除原创内容,我该怎么办?

truncate取一个可选的大小参数,该参数默认为当前位置,这是文件的结尾,因为您只是全部阅读。所以你实际上将文件截断为当前的大小(几乎不做任何事),然后附加替换的数据。您应该截断它为一个空文件:

def modify_text(): 
    with open('test.txt', "r+") as f: 
     read_data = f.read() 
     f.truncate(0) 
     # Here ----^ 
     f.write(read_data.replace('apple', 'pear')) 
+0

'test.txt'的内容更改为'0000 0000 0000 .....',全是'0000' – zwl1619