Python存储数据

时间:2015-01-13 00:43:12

标签: python storage

我的程序中有一个列表。我有一个附加到列表的功能,不幸的是当你关闭程序时,你添加的东西消失了,列表又回到了开头。有没有什么方法可以存储数据,以便用户可以重新打开程序,列表就完整了。

4 个答案:

答案 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 2Python 3的文档。

Pickle虽然不是很强大,但对于更复杂的数据,您可能希望查看内置sqlite3等数据库模块或完整的对象关系映射< / em>(ORM)喜欢SQLAlchemy。

答案 3 :(得分:0)

对于存储大数据,HDF5 库是合适的。它由 Python 中的 h5py 实现。