标准库模块——json模块
将Python数据类型转换为其他代码格式叫做(序列化),而json就是在各个代码实现转换的中间件。
json序列化要求:
1. 只能有int,str,bool,list,dict,float的类型支持序列化。
2. json序列化是以字符串形式出现。那么:lis= "[11,22,33]" 这样的也能称为序列化。
3. 必须将数据类型包裹在list或dict内进行转换。
4. json内部的str格式,必须以双引号来进行包裹。
5. bool值转换为小写的首字母
6. 存在字典里的key只能是str格式。
7. 不能连续load多次
json.dumps
将py转换为json(序列化)格式的字符串
- lis = [11,22,33]
- json_lis = json.dumps(lis)
- print(type(json_lis))
- #<class 'str'>
如果序列化时,存在中文,那么默认将会以unnicode类型转换。可以使用:
- v = [1,2,3,4,'哈哈']
- data= json.dumps(v)
- print(data)
- #[1, 2, 3, 4, "\u54c8\u54c8"]
- #################################
- v = [1,2,3,4,'哈哈']
- data= json.dumps(v,ensure_ascii=False)
- print(data)
- #[1, 2, 3, 4, "哈哈"]
json.loads
将序列化格式字符串,反序列化为python文件格式。
- lis = [11,22,33]
- json_lis = json.dumps(lis)
- lis_1 = json.loads(json_lis)
- print(type(lis_1))
json.dump & json.load
将序列化好的内容直接存放到一个文件内。load为直接读取文件内序列化的内容进行反序列化。
- import json
- v = [1,2,3,4,'哈哈']
- with open('test.txt',mode='w',encoding='utf-8') as f:
- json.dump(v,f,ensure_ascii=False)
pickle模块(使用方式都是一样的):
1. pickle只支持python类型的转换,而json支持其他代码语言的转换。
2. pickle可以将python中所有数据类型进行转换,而json不能转换元组(转换成列表)和集合,而且必须套到列表或字典中。
3. json序列化后的类型为字符串类型,而pickle所序列化的类型为bytes类型。
4. 几乎支持所有的python数据类型写到文件中
5. 支持连续的load
标准库模块——json模块的更多相关文章
- python——模块、标准库、第三方模块安装
模块(module)简介 模块化--指将一个完整的程序分解为一个一个小的模块,通过将模块组合,来搭建出一个完整的程序. 模块化的特点: ① 方便开发 ② 方便维护 ③ 模块可以复用! 在Python中 ...
- (转)python标准库中socket模块详解
python标准库中socket模块详解 socket模块简介 原文:http://www.lybbn.cn/data/datas.php?yw=71 网络上的两个程序通过一个双向的通信连接实现数据的 ...
- python常用标准库(时间模块 time和datetime)
常用的标准库 time时间模块 import time time -- 获取本地时间戳 时间戳又被称之为是Unix时间戳,原本是在Unix系统中的计时工具. 它的含义是从1970年1月1日(UTC/G ...
- Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式
Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式 目录 Pycharm使用技巧(转载) Python第一天 安装 shell 文件 Py ...
- python 常用模块(一): os模块,序列化模块(json模块 pickle模块 )
1.os模块 2.序列化模块:(1)json模块 和 pickle模块 一.os模块 os.path.abspath: (1)把路径中不符合规范的/改成操作系统默认的格式 import os path ...
- sys模块&json模块&pickle模块
sys模块&json模块&pickle模块 sys模块 一.导入方式 import sys 二.作用 与Python解释器交互 三.模块功能 3.1 经常使用 sys.path #返回 ...
- python_81_标准库_时间模块
''' 标准库: 1.time 时间的三种表示方法:a:时间戳(timestamp) b:格式化的时间字符串 c:元组(struct_time)共九个元素 time.struct_time(tm_ye ...
- python常用标准库(压缩包模块zipfile和tarfile)
常用的标准库 在我们常用的系统windows和Linux系统中有很多支持的压缩包格式,包括但不限于以下种类:rar.zip.tar,以下的标准库的作用就是用于压缩解压缩其中一些格式的压缩包. zip格 ...
- Python标准库之核心模块学习记录
内建函数和异常 包括__builtin__模块和exceptions模块 操作系统接口模块 包括提供文件和进程处理功能的os模块,提供平台独立的文件名处理(分拆目录名,文件名,后缀等)的os.path ...
- Python标准库之Sys模块使用详解
sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. 处理命令行参数 在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称. 使用sy ...
随机推荐
- 一 CRM 注册功能实现
前端:登陆页面按钮跳转到注册页面 dao: 配置连接池 配置session工厂,Hibernate核心配置,映射 配置UserDao,注入session工厂 UserDao:继承HibernateD ...
- JavaScript 环境污染
定义全局变量有 3 种方式: 在任何函数体外直接使用 var 语句声明. var f = 'value1'; 直接添加属性到全局对象上.在 Web 浏览器中,全局作用域对象为 window. wind ...
- P1058 选择题
P1058 选择题 转跳点:
- dubbo-admin的安装使用
dubbo-admin下载地址:https://github.com/apache/incubator-dubbo/releases 可以直接下载到linux上 wget https://github ...
- postProcessBeanFactory方法源码跟踪
看这篇文章之前可以先了解之前的跟踪流程,https://www.jianshu.com/p/4934233f0ead 代码过宽,可以shift + 鼠标滚轮 左右滑动查看 AbstractApplic ...
- 利用python模拟鼠标点击自动完成工作,提升你的工作效率!
没有什么能比学以致用让学习变得更有动力的了. 不知道大家在工作中有没有一些工作需要重复的点击鼠标,因为会影响到财务统计报表的关系,我们每个月底月初都要修改ERP中的单据日期,单据多的时候光修改就能让你 ...
- 003.CI4框架CodeIgniter, 控制器Controllers的访问地址
01.我们新建一个System文件夹,然后创建一个Login.php类,代码如下: <?php namespace App\Controllers\System; use App\Control ...
- 4.RabbitMQ 4种交换模式
请看 demo https://github.com/kevin-li-06/eshop.git
- BBS那些事儿
目录 1 注册 2 登陆 3 图片验证码相关 4 首页相关,Django Admin后台录入数据 5 注销功能 6 修改密码 7 用户头像展示,media配置 8 个人站点,个人侧边栏 9 侧边栏筛选 ...
- 51nod 1294 :修改数组 && HDU 5256:序列变换
1294 修改数组 题目来源: HackerRank 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 收藏 取消关注 给出一个整数数组A,你可以将任何一个数修 ...