- 一、序列化模块json、pickle
- 1、序列化的数据类型:列表 元组 字符串 字节类型。但是我们一般可以存储在硬盘的数据类型智能是字节类型和字符串类型,而且在网络上传输的只能是字节类型;因此,我们序列化主要指的是将其他数据类型转化为字符串和字节类型
- 2、如果直接使用eval,或者esce,会出现不安全的问题
- json模块
- 1、json.dumps( )序列化,将其他数据类型转化为字符串
- 2、json.loads( )是反序列化,将字符串尽可能还原
- 3、json可以处理的数据的类型:字符串 列表 字典 数字
- 4、在json处理字典的时候,字典的key值只能是int类型和str类型的,如果是int类型的的也会转成字符串类型,如果是其他的数据类型,会报错
- 5、json模块在所有非语言之中通用,在python中序列化之后,可以在其他文件中进行反序列化,反之依然
- 6、dump 和 load可以直接操作一个文件,dumps和loads只能操作内存
- 7、dump可以操作多次,完成多次写入的功能实现,load执行的文件夹里面只能有一个字典
- 8、如果有多次写入与读取的需求时,采用dumps和loads,且在写入时需要手动个加入换行符
- pickle模块
- 1、pickle序列化的结果永远是字节形式
- 2、pickle之中几乎支持所有python的数据类型,但他也只能在python中使用
- 3、pickle中的dump和load模式,在写入文件中时,需使用rb和ab和wb模式
- 4、pickle中的dump与load支持多次读写
posted on
2018-08-21 19:49
哈尔斯塔特
阅读(
35)
评论()
收藏
举报