我的程序中有一个列表。我有一个附加到列表的功能,不幸的是当你关闭程序时,你添加的东西消失了,列表又回到了开头。有没有什么方法可以存储数据,以便用户可以重新打开程序,列表就完整了。
答案 0 :(得分:10)
您可以尝试pickle模块将内存数据存储到磁盘中,以下是一个示例:
存储数据:
import pickle
dataset = ['hello','test']
outputFile = 'test.data'
fw = open(outputFile, 'wb')
pickle.dump(dataset, fw)
fw.close()
加载数据:
import pickle
inputFile = 'test.data'
fd = open(inputFile, 'rb')
dataset = pickle.load(fd)
print dataset
答案 1 :(得分:8)
您可以创建一个数据库并保存它们,唯一的方法就是这样。具有SQLITE或.txt文件的数据库。例如:
with open("mylist.txt","w") as f: #in write mode
f.write("{}".format(mylist))
您的列表会进入format()
功能。它会创建一个名为mylist
的.txt文件,并将列表数据保存到其中。
之后,当您想再次访问数据时,可以执行以下操作:
with open("mylist.txt") as f: #in read mode, not in write mode, careful
rd=f.readlines()
print (rd)
答案 2 :(得分:4)
内置pickle
模块为序列化提供了一些基本功能,这是一个将任意对象转换为适合写入磁盘的术语。查看Python 2或Python 3的文档。
Pickle虽然不是很强大,但对于更复杂的数据,您可能希望查看内置sqlite3
等数据库模块或完整的对象关系映射< / em>(ORM)喜欢SQLAlchemy。
答案 3 :(得分:0)
对于存储大数据,HDF5 库是合适的。它由 Python 中的 h5py 实现。