Python pickle模块

Posted 鑫仔园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python pickle模块相关的知识,希望对你有一定的参考价值。

pickle模块函数

  • pickle模块可以很方便的将Python数据对象转换为二进制,并且保存原有数据状态.

数据对象二进制保存在内存

  • pick_obj = pickle.dumps(obj):将Python数据对象经过pickle处理,返回二进制数据.

  • obj= loads(pick_obj):将pickle二进制数据转换为Python数据对象.

>>> import pickle
>>> obj = [1,2,3]
>>> p_obj = pickle.dumps(obj)
>>> p_obj
b'x80x03]qx00(Kx01Kx02Kx03e.'
>>> type(p_obj)
<class 'bytes'>

数据对象二进制保存到文件(把内存数据写在文件中)

  • dump(object,file):将对象写到文件,这个文件可以是实际的物理文件,但也可以是任何类似于文件的对象.

  • obj = load(file):把文件对象里的我们之前保存进来的二进制数据返回成原先的数据对象

import pickle
list1 = [1,2,3,4,'abc',(1,2,3)]
fp = open('1.pkl','wb')    #这里我们用到了二进制写文件
pickle.dump(list1,fp)    #序列化之后保存到文件里
fp.close()

fp = open('1.pkl','rb')    #以二进制读写文件打开文件
list2 = pickle.load(fp)    #我们从文件里读取我们之前存储的内容
print(list2)
C:UsersAdministratorDesktop>python 1.py
[1, 2, 3, 4, 'abc', (1, 2, 3)]

1.pkl文件内容:

8003 5d71 0028 4b01 4b02 4b03 4b04 5803
0000 0061 6263 7101 4b01 4b02 4b03 8771
0265 2e

以上是关于Python pickle模块的主要内容,如果未能解决你的问题,请参考以下文章

python文件操作:pickle模块多次dump后出现的读取问题

Python:pickle模块学习

python基础(20):序列化json模块pickle模块

Python pickle模块

Python pickle模块

Python pickle模块