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模块序列化模块的主要内容,如果未能解决你的问题,请参考以下文章

Python - 模块

python中的模块

python之模块和包

Python 常用模块学习

python之模块和包

python 模块的概念介绍