用示例理解 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'}