用示例理解 Python Pickling
在本文中,我们将了解如何在Python中筛选不同的数据类型。我们可以选择布尔值、整数、浮点数、复数、字符串、元组、列表、集合和包含可拾取对象的字典。一些实体,如生成器、内部本地类、lambda函数不能进行PICKLE。
什么是PICKLE?
PICKLE涉及一个连续的序列化和反序列化对象类型及相关结构的Python实体的循环,也称为编组或展平,这涉及将内存中的对象转换为字节形式,可以存储在磁盘上或发送到本地网络。
使用限制吗?
当我们想使用不同的编程语言共享数据时,不建议使用pickle模块。这意味着不能保证跨平台兼容性。
可以在不处理文件的情况下对原始数据进行PICKLE。在本模块中,我们将学习如何通过序列化过程将原始数据PICKLE为二进制文件。
示例
# Python pickling
import pickle as pk
def learnData():
# data to be stored in database
dict_1 = {'tutorial':'point','Python':'3.x'}
dict_2 = {'Data
structure':'dictionary','pickling':'serialization'}
# database
db = {}
db['1'] = dict_1
db['2'] = dict_2
# binary file open using filepointer in append mode
fp = open('Newfile', 'ab')
# source, destination
pk.dump(db, fp)
fp.close()
def displayData():
# binary file open using filepointer in read mode
fp = open('Newfile', 'rb')
db = pk.load(fp)
for i in db:
print(i, '=>', db[i])
fp.close()
if __name__ == '__main__':
learnData()
displayData()输出结果
dict_1 = {'tutorial':'point','Python':'3.x'}
dict_2 = {'Data structure':'dictionary','pickling':'serialization'}