0

为什么这会替换文件中已有的内容,我怎样才能得到它。(我应该只使用 .write .read 而不是 json 吗?)

def load():
    with open("random_number_highscores.txt","r") as x:
        print (json.load(x))

def save(a):
    with open("random_number_highscores.txt", "w") as x:
        json.dump(a, x)
    print ("saved.")
4

2 回答 2

1

您正在使用“w”(写入)标志写入文件,请尝试“a”(附加):

def save(a):
  with open("random_number_highscores.txt", "a") as x:
    json.dump(a, x)
  print ("saved.")
于 2013-09-01T20:17:47.587 回答
1

这是因为您以“写入”模式打开文件。当以写入模式打开文件时,Python 将覆盖文件中已有的所有内容,并将您希望写入的新内容添加到文件中。而是以“附加”模式打开文件,以将内容添加到文件中已经存在的内容中。

例子:

with open("file.txt","a") as file:
    file.write("This text was appended to the file")
于 2013-09-01T20:21:52.893 回答