如何通过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'))
'test.txt'的内容更改为'0000 0000 0000 .....',全是'0000' – zwl1619