Python模块序列化模块
Posted Python小白白白白白白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python模块序列化模块相关的知识,希望对你有一定的参考价值。
一、模块
模块就是写好的功能放在一个文件里,即py文件
模块的种类:
① 内置模块:安装python解释器的时候就装上了
② 第三方模块、扩展模块:不在内置模块不一定不重要,根据用户需求安装使用
③ 自定义模块:自己写的py文件
二、序列化模块
序列:列表、元组、字符串、bytes
序列化:把一个数据类型转换成字符串、bytes类型的过程就是序列化
数据类型序列化的场景:
① 把一个数据类型存储在文件中
② 把一个数据类型通过网络传输的时候
eval和exec:用户输入,文件读入,网络传入都不能使用,存在风险,极其不安全。
import json # 导入json模块
在json格式下,所欲的字符串都是双引号。
json.dumps(obj) 序列化的过程,转换为字符串
import json # 导入json模块 dic = {‘province‘:‘广东省‘,‘city‘:‘深圳市‘} s = json.dumps(dic) # 序列化的过程 print(s,type(s)) # {"province": "u5e7fu4e1cu7701", "city": "u6df1u5733u5e02"} <class ‘str‘>
json.loads(str) 反序列化的过程,转换为原本的类型
import json # 导入json模块 dic = {‘province‘:‘广东省‘,‘city‘:‘深圳市‘} s = json.dumps(dic) # 序列化的过程 dic2 = json.loads(s) # 反序列化的过程 print(dic2,type(dic2)) # {‘province‘: ‘广东省‘, ‘city‘: ‘深圳市‘} <class ‘dict‘>
json的优点:
① 所有的语言都通用
json的缺点:
① 只支持非常少的数据类型
② 对数据类型的约束很苛刻
③ 字典的key必须是字符串
④ 只支持数据类型:数字、字符串、列表、字典
以上是关于Python模块序列化模块的主要内容,如果未能解决你的问题,请参考以下文章