为什么我不能替换 .txt 文件中的文本

Why can I not replace text in .txt file

现在,我正在制作一个简单的游戏,并尝试记录高分并在游戏打开时将其保存。我有一个文件,best_score.txt,打开时从中检索高分,如果在整个游戏过程中 score == best,我希望将当前分数保存在该文件中。 best_score.txt 中唯一的文字是分数。

目前,文件是这样打开和读取的:

with open("best_score.txt", "r") as f:
    best = int(f.read())
    old_best = best

高分(best)是从文件中拉出来的,我有第二份高分(old_best)保存以备后用。

在游戏过程中,如果有人打破了他们的最高分,best将被设置为等于他们上升的分数。

一旦他们重新启动或关闭游戏,如果 score == best 此代码 运行s:

with open("best_score.txt", "w") as f:
    f.write(f.replace(str(old_best), str(best)))

这是为了在游戏开始时搜索原来的高分(old_best),并用新的高分代替。现在,当我 运行 游戏并击败高分时,新的不会被记录。文本文件变成空的,里面根本没有文本,或者它仍然是以前的最高分。我哪里做错了,或者我还能用什么其他方法将乐谱保存在文本文件中?

我知道有 on here and explanations on how to write text on other websites,但我就是无法正常工作。这是我在编程中的第一个“大”项目(100 多行),这是唯一真正让我难过的事情。任何帮助将不胜感激。

你太复杂了:

with open("best_score.txt", "w") as f:
    f.write(best)

这将用新文本覆盖文本。