有一个文本文件,我想通过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()
不起作用,我想删除原始内容,我该怎么办?
答案 0 :(得分:4)
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'))