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

Python 如何每次将变量保存到文本文件的新行?,python,pickle,Python,Pickle,我试图让我的程序请求输入(例如名称),并在每次运行到文本文件时将该名称与pickle一起保存到新行。 例如:如果我想在第一行“John”中保存名字“John”,那么在第二次运行程序时,它会在第二行中保存名字“Jeff”,依此类推 我已经导入并设置了请求输入和pickle将其转储到文件的部分 import pickle print("Hello!") name = input("What is your name? : ") print (name) file1 = open("store.tx

我试图让我的程序请求输入(例如名称),并在每次运行到文本文件时将该名称与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以
打开(文件名为“wb”)
打开文件时,它会自动擦除文件的内容,类似于使用
'w'
参数打开文本文件会立即擦除内容


您可以先打开文件进行读取,然后保存其内容,修改它们或附加变量,然后通过写入重新打开文件并保存。您还可以使用
'ab'
参数打开文件进行追加。这两种方法都可以使用,但每次打开时文件都会被擦除。

可能的重复操作会停止覆盖问题,但是如何让程序将这些输入中的每一个都保存到新行?如果您想在文件中插入新行,可以在关闭前使用
file1.write(b“\n”)
来完成。非常感谢!这正是我想要的。谢谢你的帮助。