函数和常用模块【day06】:json模块(十一)
本节内容
1、dumps序列化和loads反序列化
2、dump序列化和load反序列化
3、序列函数
1、dumps序列化和loads反序列化
dumps()序列化
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import json #导入json模块 info = { 'name' : "zhangqigao" , "age" : 22 } with open ( "test.txt" , "w" ) as f: #以普通模式写入 data = json.dumps(info) #把内存对象转为字符串 f.write(data) #写到文件中 #text.txt文件中的内容 { "name" : "zhangqigao" , "age" : 22 } |
loads()反序列化
1
2
3
4
5
6
7
8
9
|
import json with open ( "test.txt" , "r" ) as f: #以普通模式读 data = json.loads(f.read()) #用loads反序列化 print (data.get( "age" )) #输出 22 |
2、dump序列化和load反序列化
dump()序列化
1
2
3
4
5
6
7
8
9
10
11
12
|
import json info = { 'name' : "zhangqigao" , "age" : 22 } with open ( "test.txt" , "w" ) as f: #文件以写的方式打开 json.dump(info,f) #第1个参数是内存的数据对象 ,第2个参数是文件句柄 #text.txt文件中的内容 { "name" : "zhangqigao" , "age" : 22 } |
load()反序列化
1
2
3
4
5
6
7
8
9
|
import json with open ( "test.txt" , "r" ) as f: #以读的方式打开文件 data = json.load(f) #输入文件对象 print (data.get( "age" )) #输出 22 |
3、序列化函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import json def sayhi(name): #函数 print ( "name:" ,name) info = { 'name' : "zhangqigao" , "age" : 22 , "func" :sayhi #引用sayhi函数名 } with open ( "test.txt" , "w" ) as f: json.dump(info,f) #序列化info数据对象 #输出 File "D:\Python\Python35\lib\json\encoder.py" , line 403 , in _iterencode_dict yield from chunks File "D:\Python\Python35\lib\json\encoder.py" , line 436 , in _iterencode o = _default(o) File "D:\Python\Python35\lib\json\encoder.py" , line 179 , in default raise TypeError( repr (o) + " is not JSON serializable" ) TypeError: <function sayhi at 0x00000000006DD510 > is not JSON serializable #不支持jsom序列化 |
小结:
- dumps和loads是成对使用的,dump和load是成对使用的。
- dumps和loads由于序列化的是内容,所以后面要加s,但是dump和load序列化的内容是对象,所以单数。
- json只能处理简单的数据类型,例如:字典、列表、字符串等,不能处理函数等复杂的数据类型。
- json是所有语言通用的,所有语言都支持json,如果我们需要python跟其他语言进行数据交互,那么就用json格式。
函数和常用模块【day06】:json模块(十一)的更多相关文章
- Python之路(第十五篇)sys模块、json模块、pickle模块、shelve模块
一.sys模块 1.sys.argv 命令行参数List,第一个元素是程序本身路径 2.sys.exit(n) 退出程序,正常退出时exit(0) 3.sys.version . sys.maxint ...
- os模块、sys模块、json模块、pickle模块、logging模块
目录 os模块 sys模块 json模块 pickle模块 logging模块 os模块 功能:与操作系统交互,可以操作文件 一.对文件操作 判断是否为文件 os.path.isfile(r'路径') ...
- Python 入门之 内置模块 -- 序列化模块(json模块、pickle模块)
Python 入门之 内置模块 -- 序列化模块(json模块.pickle模块) 1.序列化 Python中这种序列化模块有三种: json模块 : 不同语言都遵循的一种数据转化格式,即不同 ...
- os模块,sys模块,json模块,subprocess模块
os模块 一·什么是os模块 os模块提供了多数操作系统的功能接口函数.当os模块被导入后,它会自适应于不同的操作系统平台,根据不同 的平台进行相应的操作,在python编程时,经常和文件.目录打交道 ...
- 时间模块之datatime模块、os模块、sys模块、json模块、json模块实操
目录 一.模块的绝对导入和相对导入 二.包的概念 三.编程思想的转变 四.软件开发目录规范 五.常见的内置模块 一.时间模块之datatime模块 1.datetime.datetime.today( ...
- Python 自学基础(四)——time模块,random模块,sys模块,os模块,loggin模块,json模块,hashlib模块,configparser模块,pickle模块,正则
时间模块 import time print(time.time()) # 当前时间戳 # time.sleep(1) # 时间延迟1秒 print(time.clock()) # CPU执行时间 p ...
- pickle模块 和json模块
pickle和json序列号 json模块是所有语言通用的,可以用来把一些数据转成字符串存储在文件中 import json l=[,,] with open('t3',mode='w',encodi ...
- Python常用模块之json模块
常用模块: 一个Python文件就是一个模块 import xxx 1. 标准模块,Python自带的,如time/random 2. 第三方模块,如连接mysql,需要安装 3. 自己写的Pytho ...
- os模块,序列化模块,json模块,pickle模块
一.os模块os.system("bash command") 运行shell命令,直接显示 os.popen("bash command).read() 运行shell ...
- python tickle模块与json模块
#! /usr/bin/env python# -*- coding:utf-8 -*-#JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式 ...
随机推荐
- Arcgis安装要素
1. ArcGIS安装过程中需将用户名改为计算机名,该计算机名称时需要新建对话框. 2. ArcGIS Server安装过程中要设置ArcGISWebServices用户的读写权限,即设置ASP.NE ...
- django在admin后台注册自己创建的数据库表
django在admin后台注册自己创建的数据库表,这样我们就可以在admin后台看到表结构信息,我们就可以在admin后台快速录入表记录信息 如果没有注册,那么你在登录django自带的admin的 ...
- Flask学习-Flask app接受第一个HTTP请求
一.__call__() 在Flask app启动后,一旦uwsgi收到来自web server的请求,就会调用后端app,其实此时就是调用app的__call__(environ,start_res ...
- Codejam Qualification Round 2019
本渣清明节 闲里偷忙 做了一下codejam 水平不出意外的在投稿之后一落千丈 后两题的hidden test竟然都挂了 A. Foregone Solution 水题,稍微判断一下特殊情况(比如10 ...
- 华为笔试——C++字符串四则运算的实现
题目:字符串四则运算的实现 有字符串表示的一个四则运算表达式,要求计算出该表达式的正确数值.四则运算即:加减乘除"+-*/",另外该表达式中的数字只能是1位(数值范围0~9),运算 ...
- PowerDesigner数据库设计实用技巧
欢迎大家补充,谢谢! 1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体.在特殊情况下,它们可能是一对多或多对一的 ...
- 第三周 构造一个简单的Linux系统MenuOS
一. Linux内核源代码简介 稳定版内核:Linux-3.18.6 Linux内核源代码的目录结构: arch目录:在Linux内核源代码里占有的比重很大,因为Linux内核支持很多的体系结构, ...
- github优缺点
以前bitbucket沒有支援git github可以直接在網站上瀏覽push的圖片 github 可以針對code行數直接留言與回覆 github Markdown支援很好 github 的issu ...
- WM_CONCAT和LISTAGG 语法例子
select to_char(replace(wm_concat(name), ',', '')) from codeitems where setid = 'A018' and ' like cod ...
- SVN for Mac
SVN for Mac https://www.wikihow.com/Install-Subversion-on-Mac-OS-X https://subversion.apache.org/pac ...