Python 存储数据

Python Storing Data

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

你可以建个数据库存起来,只有这个办法。带有 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)

内置的 pickle 模块为 序列化 提供了一些基本功能,这是一个将任意对象转换为适合写入磁盘的对象的术语。查看 Python 2 or Python 3.

的文档

Pickle 虽然不是很健壮,但对于更复杂的数据,您可能需要查看数据库模块,例如内置 sqlite3 或成熟的 object -关系映射 (ORM) 像 SQLAlchemy。

您可以尝试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

存储大数据,适合HDF5库。它由 h5py 在 Python 中实现。