为什么当我尝试删除字符时我的文件最终变成空白?

Why my file end up blank when I try to remove characters?

我关注这个主题 here 因为我想删除输出文本文件中的 <br />

所以我的代码如下:

def file_cleaner(video_id):
    with open('comments_'+video_id+'.txt', 'r') as infile, open('comments_'+video_id+'.txt', 'w') as outfile:
        temp = infile.read().replace("<br />", "")
        outfile.write(temp)  

如果我删除这个函数调用我的文件有内容,但是在我调用这个函数之后我的文件是空的。我哪里做错了?

w 模式打开文件会先截断文件。所以没有什么可以从文件中读取的。

先读取文件,再打开写入。

def file_cleaner(video_id):
    with open('comments_'+video_id+'.txt', 'r') as infile:
        temp = infile.read().replace("<br />", "")
    with open('comments_'+video_id+'.txt', 'w') as outfile:
        outfile.write(temp)