首页 > 代码库 > python自动化开发-5a

python自动化开发-5a

python的常用模块

pickle模块和json模块

  pickle和json是用于序列化的两个模块

  序列化:我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化

 

  序列化的作用:1.持久保存状态;2.跨平台数据交互。

    持久保存状态:内存是无法永久保存数据的,当程序运行了一段时间,我们断电或者重启程序,内存中关于这个程序的之前一段时间的数据(有结构)都被清空了;在断电或重启程序之前将程序当前内存中所有的数据都保存下来(保存到文件中),以便于下次程序执行能够从文件中载入之前的数据,然后继续执行,这就是序列化。举个通俗易懂的例子来说,你玩某个网络游戏闯到了第13关,你想保存游戏状态,关机走人,下次再玩,还能从上次的位置开始继续闯关。或如,虚拟机状态的挂起等。

    跨平台数据交互序列化之后,不仅可以把序列化后的内容写入磁盘,还可以通过网络传输到别的机器上,如果收发的双方约定好实用一种序列化的格式,那么便打破了平台/语言差异化带来的限制,实现了跨平台数据交互。

  pickle模块

    pickle是python中独有的序列化模块,所谓独有,就是指不能和其他编程语言的序列化进行交互,因为pickle将数据对象转化为bytes。

    例子:

      

技术分享
1 import pickle
2 i=[23,46,89]
3 res=pickle.dumps(i)
4 res1=pickle.loads(res)
5 print("序列化:",res)
6 print("反序列化:",res1)
View Code

运行结果:

序列化: b‘\x80\x03]q\x00(K\x17K.KYe.‘
反序列化: [23, 46, 89]

 

python自动化开发-5a