如何通过python替换单词?

时间:2017-10-15 16:20:01

标签: python file replace

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

1 个答案:

答案 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'))