如何每次将变量保存到文本文件到新行?

How do I save variables to a text file to a new line each time?

我正在尝试让我的程序要求输入(例如名称),并在每次 运行 文本文件时将此名称与 pickle 一起保存到新行。 例如:如果我想保存名称 "John" 第一次它会保存在第一行 "John",然后第二次我 运行 程序,它会保存名称 "Jeff"在第二行等等。

我已经导入并设置了请求输入以及 pickle 将其转储到文件的部分。

import pickle

print("Hello!")
name = input("What is your name? : ")
print (name)
file1 = open("store.txt", "wb")
pickle.dump(name, file1)
file1.close()

它确实保存了输入,但每次我重新运行程序并输入不同的字符串时,它都会覆盖之前的字符串。

在追加模式下打开文件时使用 "ab+" 而不是 "wb"

当 pickle 使用 open(filename, 'wb') 打开文件时,它会自动擦除文件的内容,类似于使用 'w' 参数打开文本文件将立即擦除内容的方式。

您可以先打开文件进行读取,然后保存其中的内容,修改它们或追加您的变量,然后以写入的方式重新打开文件并保存。您还可以使用 'ab' 参数打开文件进行追加。这些都应该有效,但是 as-is 文件在每次打开时都会被擦除。