python基础之序列化和反序列化

Python020

python基础之序列化和反序列化,第1张

1、序列化:就是把不可传输的对象转换为可存储或可传输的过程

2、反序列化:就是把在磁盘,等介质中的数据转换为对象

1、序列化并保存文件

obj = [1, 2, 3, 4]

with open('test.txt', 'wb') as f:

    pickle.dump(obj, f)

with open('test.txt', 'rb') as f:

    new_obj = pickle.load(f)

2、序列化成string形式

obj = [1, 2, 3, 4]

str1 = pickle.dumps(obj)

new_obj = pickle.loads(str1)

1、序列化并保存到文件:dump、load

2、序列化成json对象:dumps、loads

下面是可以被序列化的,反之则是不可序列化的

可以被序列化的类型有:

* None,True 和 False

* 整数,浮点数,复数

* 字符串,字节流,字节数组

* 包含可pickle对象的tuples,lists,sets和dictionaries;

* 定义在module顶层的函数:

* 定义在module顶层的内置函数;

* 定义在module顶层的类;

* 拥有__dict__()或__setstate__()的自定义类型;

高端Python自动化测试开发系列直播课