第三十五节,json数据类型转换字符串模块
在使用json模块时需要先 import json 引入模块
json.dumps()模块函数
功能:将Python数据类型转换成字符串【有参】
使用方法:json.dumps(要转换的数据类型变量)
格式如:json.dumps(yhxxi)
注意:不支持元祖
#!/usr/bin/env python
# -*- coding:utf8 -*-
import json
yhxxi = { #创建一个嵌套字典
1:{
"yonghu":"liguixiou",
"mima":"",
"youjian":"729088188@qq.com",
"zichan":700,
},
2:{
"yonghu":"liguixiou2",
"mima":"",
"youjian":"7290881882@qq.com",
"zichan":7002,
}
}
a = json.dumps(yhxxi) #将字典转换成字符串格式
print(a) #打印转换的字符串格式
b = open("yh.txt", "w") #以写入模式打开文件
b.write(a) #将转换的字符串写入文件
b.close() #关闭打开的文件
#输出
# {"1": {"youjian": "729088188@qq.com", "yonghu": "liguixiou", "mima": "12345", "zichan": 700}, "2": {"youjian": "7290881882@qq.com", "yonghu": "liguixiou2", "mima": "123452", "zichan": 7002}}
列2
#!/usr/bin/env python
# -*- coding:utf8 -*-
import json
a = [1,2,3,4,5,6,7,8] #列表
b = json.dumps(a) #将列表转换成字符串
print(b)
print(type(b)) #查看数据类型 a2 = {"desc":"OK","status":1000} #字典
b2 = json.dumps(a2) #将字典转换成字符串
print(b2)
print(type(b2)) #查看数据类型 #输出
# [1, 2, 3, 4, 5, 6, 7, 8]
# <class 'str'>
# {"desc": "OK", "status": 1000}
# <class 'str'>
json.loads()模块函数
功能:将字符串还原它本来的数据类型【有参】
使用方法:json.loads(要还原的字符串变量)
格式如:json.loads(b)
注意:不支持元祖
#!/usr/bin/env python
# -*- coding:utf8 -*-
import json a = open("yh.txt", "r") #以读模式打开文件
b = a.read() #读出文件里的字符串内容
a.close() #关闭打开的文件
print(b) #打印出读出的字符串内容 c = json.loads(b) #将字符串还原它本来的数据类型
print(c) #打印出还原的数据类型
#输出
# {"1": {"yonghu": "liguixiou", "zichan": 700, "youjian": "729088188@qq.com", "mima": "12345"}, "2": {"yonghu": "liguixiou2", "zichan": 7002, "youjian": "7290881882@qq.com", "mima": "123452"}}
# {'1': {'yonghu': 'liguixiou', 'zichan': 700, 'mima': '12345', 'youjian': '729088188@qq.com'}, '2': {'yonghu': 'liguixiou2', 'zichan': 7002, 'mima': '123452', 'youjian': '7290881882@qq.com'}}
列2
#!/usr/bin/env python
# -*- coding:utf8 -*-
import json
a = "[1,2,3,4,5,6,7,8]" #列表样式字符串
b = json.loads(a) #还原成python识别的列表
print(b)
print(type(b)) #查看数据类型 a2 = '{"desc":"OK","status":1000}' #字典样式字符串,注意:字典的单引号和双单引号,字典内部元素是字符串必须是双单引号
b2 = json.loads(a2) #还原成python识别的字典
print(b2)
print(type(b2)) #查看数据类型 #输出
# [1, 2, 3, 4, 5, 6, 7, 8]
# <class 'list'>
# {'status': 1000, 'desc': 'OK'}
# <class 'dict'>
json.dump()模块函数
功能:将Python数据类型转换成字符串,直接写入文件【有参】
使用方法:json.dump(要写入的数据类型变量,打开文件的句柄变量)
格式如:json.dump(a,b)
注意:json.dump()写入文件可以直接写入,不需要write()函数即可写入
#!/usr/bin/env python
# -*- coding:utf8 -*-
import json a = ["你好", "我好", "他好"] #创建一个列表
b = open("yh.txt", "w") #以写入模式打开一个文件
json.dump(a,b) #将Python数据类型转换成字符串,直接写入文件
b.close() #关闭打开的文件 #此时yh.txt文件里已经写入 ["\u4f60\u597d", "\u6211\u597d", "\u4ed6\u597d"]
json.load()模块函数
功能:读出文件里的字符串,还原它本来的数据类型【有参】
使用方法:json.load(打开文件的句柄变量)
格式如:json.load(a)
注意:json.load()读出文件可以直接读出,不需要read()函数即可读出
#!/usr/bin/env python
# -*- coding:utf8 -*-
import json a = open("yh.txt", "r") #以读出模式打开文件
b = json.load(a) #读出文件里的字符串,还原它本来的数据类型
print(b) #打印出还原的数据类型
#输出
#['你好', '我好', '他好']
第三十五节,json数据类型转换字符串模块的更多相关文章
- centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课
centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件.目录属性 shell数组简单用法 $( ) 和$ ...
- 风炫安全web安全学习第三十五节课 文件下载和文件读取漏洞
风炫安全web安全学习第三十五节课 文件下载和文件读取漏洞 0x03 任意文件下载漏洞 一些网站由于业务需求,往往需要提供文件下载功能,但若对用户下载的文件不做限制,则恶意用户就能够下载任意敏感文件, ...
- 第三百三十五节,web爬虫讲解2—Scrapy框架爬虫—豆瓣登录与利用打码接口实现自动识别验证码
第三百三十五节,web爬虫讲解2—Scrapy框架爬虫—豆瓣登录与利用打码接口实现自动识别验证码 打码接口文件 # -*- coding: cp936 -*- import sys import os ...
- 第三十五节,目标检测之YOLO算法详解
Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: Unified, real-time object de ...
- 第二百三十五节,Bootstrap栅格系统
Bootstrap栅格系统 学习要点: 1.移动设备优先 2.布局容器 3.栅格系统 本节课我们主要学习一下 Bootstrap 的栅格系统,提供了一套响应式.移动设备优先的流 式栅格系统. 一.移动 ...
- 第一百三十五节,JavaScript,封装库--拖拽
JavaScript,封装库--拖拽 封装库新增1个拖拽方法 /** tuo_zhuai()方法,将一个弹窗元素实现拖拽功能 * 注意:一般需要在css文件将元素里的某一个区块光标设置成提示可以拖拽, ...
- [ExtJS5学习笔记]第三十五节 sencha extjs 5 组件查询方法总结
一个UI前台组件肯定会比较多,我们通常习惯性的使用ID来获取需要操作的组件,但是这种方法是extjs推荐的么?有没有extjs推荐使用的获取组件的方法呢? 目录 目录 extjs的查询组件的API 查 ...
- 第五十五节,IO多路复用select模块加socket模块,伪多线并发
IO多路复用select模块加socket模块,伪多线并发,并不是真正的多线程并发,实际通过循环等待还是一个一个处理的 IO多路复用,lo就是文件或数据的输入输出,IO多路复用就是可以多用户操作 IO ...
- 第三十六节,目标检测之yolo源码解析
在一个月前,我就已经介绍了yolo目标检测的原理,后来也把tensorflow实现代码仔细看了一遍.但是由于这个暑假事情比较大,就一直搁浅了下来,趁今天有时间,就把源码解析一下.关于yolo目标检测的 ...
随机推荐
- 用border做一个移动端常见的返回按钮
第一步 .hs1{ float: left; .mt(.25rem); .ml(.12rem); width: .3rem; height: .3rem; border-top: 2px solid ...
- tflearn save模型异常
存储模型始终无法形成单个文件,最初以为是机器中间断电\休眠引起的,重复了3次之后,发现这个问题一直存在.(每一次都要跑8~9个小时啊,摔...) 解决办法:tensorflow的版本回退到0.11版 ...
- servlet的url-pattern匹配规则
首先需要明确几容易混淆的规则: servlet容器中的匹配规则既不是简单的通配,也不是正则表达式,而是特定的规则.所以不要用通配符或者正则表达式的匹配规则来看待servlet的url-pattern. ...
- java中多态的使用
一.动手动脑 public class ParentChildTest { public static void main(String[] args) { Parent parent=new Par ...
- 二十四、oracle pl/sql 变量
一.变量介绍在编写pl/sql程序时,可以定义变量和常量:在pl/sql程序中包括有:1).标量类型(scalar)2).复合类型(composite) --用于操作单条记录3).参照类型(refer ...
- css3技巧属性之text-overflow
text-overflow:clip | ellipsis 默认值:clip 取值: clip: 当对象内文本溢出时不显示省略标记(...),而是将溢出的部分裁切掉. ellipsis: 当对象内文本 ...
- JavaBean的属性变量名前两个字母大小写问题
Java属性命名规范! 一般情况下.Java的属性变量名都已小写字母开头,如:userName,showMessage等,但也存在着特殊情况,考虑到一些特定的有意思的英文缩略词如(USA,XML等), ...
- Oracle截取某字段前后字符串
创建测试表及数据 1 2 3 4 5 6 7 8 9 create table test (name varchar2(10)); insert into test values ('2-15') ...
- push类型消息中间件-消息订阅者(一)
1.订阅者的声明方式 我们以spring组件化的方式,声明一个消息订阅者,对于消息订阅者关心的主要有: topic: 一级消息类型(又名消息主题).如TRADE 消息类型:二级消息类型,区别同一Top ...
- 【ORACLE】“System.Exception: System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本。”解决办法
我的电脑是win10.64位.问题如题,在网上找了很多办法都没搞好,如下: 1.给oracle目录设置“Authenticated Users”用户的“读取/写入”权限 2.IIS网站物理路径凭据添加 ...