我试图让我的程序要求输入(例如名称),并在每次运行到文本文件时将此名称和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()
它确实保存了输入,但是每次我重新运行该程序并输入不同的字符串时,它都会覆盖前一个。
答案 0 :(得分:2)
打开文件以附加模式执行操作时,请使用"ab+"
而不是"wb"
。
答案 1 :(得分:0)
当pickle用open(filename, 'wb')
打开文件时,它会自动擦除文件内容,类似于使用'w'
参数打开文本文件会立即擦除内容。
您可以先打开文件以进行读取,然后保存文件的内容,对其进行修改或附加变量,然后通过写入重新打开文件并保存。您也可以使用'ab'
参数打开要附加的文件。这两种方法都可以使用,但是每次打开时都会擦除文件。