day25-3 json,pickle模块
json
- json文件并不是python独有的,所有的语言都有json,可以跨平台/语言传输数据
- json文件中只能写入python中的dict/list/str/int/float/bool/None数据类型
import json
序列化
- 保存数据(从内存到硬盘这个过程叫做序列化,这个序列化必须得规定格式)
- 这里保存的格式为json
反序列化
- 把json文件从硬盘中读取到内存
1.dumps / loads(了解,没用)
dic = {'name': 'nick'}
res = json.dumps(dic)
print(res, type(res))
res = json.loads(res)
print(res, type(res))
{"name": "nick"} <class 'str'>
{'name': 'nick'} <class 'dict'>
2.dump / load(重要)
with open('test.json', 'w', encoding='utf-8') as fw:
json.dump(dic, fw)
with open('test.json', 'r', encoding='utf-8') as fr:
data = json.load(fr)
print(data)
{'name': 'nick'}
pickle
- pickle也是序列化与反序列化的过程
- pickle支持python中的任意数据类型,所以不能跨平台(不同平台的函数一定是不同的)
- pickle模块序列化过程是以二进制形式来进行转化的
1.dumps / loads(了解,没用)
import pickle
def func():
print('f1')
res = pickle.dumps(func)
print(res)
pickle.loads(res)()
b'\x80\x03c__main__\nfunc\nq\x00.'
f1
2.dump/load(重要)
with open('test.pickle', 'wb') as fw: # 格式为pkl也可以
pickle.dump(func, fw)
with open('test.pickle', 'rb') as fr:
data = pickle.load(fr)
data()
f1
day25-3 json,pickle模块的更多相关文章
- Pythoy 数据类型序列化——json&pickle 模块
Pythoy 数据类型序列化--json&pickle 模块 TOC 什么是序列化/反序列化 pickle 模块 json 模块 对比json和pickle json.tool 命令行接口 什 ...
- 20181205(模块循环导入解决方案,json&pickle模块,time,date,random介绍)
一.补充内容 循环导入 解决方案: 1.将导入的语句挪到后面. 2.将导入语句放入函数,函数在定义阶段不运行 #m1.pyprint('正在导入m1') #②能够正常打印from m2 imp ...
- python之os与json&pickle模块
一.os模块 简单概述一下os模块就是与操作系统交互的一个接口 import os #os.getcwd() print(os.getcwd()) # 获取到当前工作目录 # 运行结果:E:\pyt ...
- [re模块、json&pickle模块]
[re模块.json&pickle模块] re模块 什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则 ...
- Python(正则 Time datatime os sys random json pickle模块)
正则表达式: import re #导入模块名 p = re.compile(-]代表匹配0至9的任意一个数字, 所以这里的意思是对传进来的字符串进行匹配,如果这个字符串的开头第一个字符是数字,就代表 ...
- json&pickle模块
序列化:我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化 反序列化:把变量内容从序列化的对象重新读到内存中,这一过程称为反序列化 为什么要序列化? 1.持久保存状态 一个软件的执行就是在处 ...
- Python Json & Pickle模块
用于序列化的两个模块 Json,用于字符串 和 python数据类型间进行转换 Pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...
- Python3学习之路~5.7 Json & pickle 模块
用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...
- json/pickle模块(序列化)
什么叫序列化? 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes 为什么要序列化? 你打游戏过程中,打累了,停下来,关掉游戏.想 ...
随机推荐
- php如何判断SQL语句的查询结果是否为空?
PHP与mysql这对黄金搭档配合的相当默契,但偶尔也会遇到一些小需求不知道该怎么做,例如今天要谈到的:如何判断sql语句查询的结果集是否为空! 我们以查询学生信息为例,来看看究竟如何实现我们的需求. ...
- 第二次训练 密码acmore
网址:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=26733#overview 贪心全场!!!! A题: #include <io ...
- ACDream - Power Sum
先上题目: Power Sum Time Limit: 20000/10000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) S ...
- mysqldump中使用flush tables with read lock的风险分析
http://blog.csdn.net/wireless_tech/article/details/7332906 我们使用mysqldump --single-transaction -- ...
- POJ 1696
这题是明显的TU包变形. 使用卷包裹法可解,而且是必定可以经过所有点的.直观可知,当经过某点后,相当于把之前的点抹去,求剩下点的TU包,递归下去,也就能把点全部经过了. 于是,只需把经过的点标记一下就 ...
- HDU 1242
简单题 #include <iostream> #include <cstdio> #include <queue> using namespace std; ; ...
- 关于IFeatureSelection的SelectFeatures方法
近期做项目时用到IFeatureLayer as IFeatureSelection,然后使用IFeatureSelection.SelectFeatures方法.可是得到的IFeatureSelec ...
- linux下安装rar解压包
直接解压时出现的问题如下 原因:使用rar命令需要安装WinRAR 1.在本机下载好解压,然后将解压包拖到linux上 2.进行安装,在rar目录想直接make
- C语言数组和函数实例练习(二)
1.C语言中不允许函数的嵌套定义,但可以使用函数的嵌套调用. 例1:输入4个整数,找出其中最大的数. #include <stdio.h> #include <stdlib.h> ...
- oc1
// zs.h #ifndef __day11__zs__ #define __day11__zs__ #include <stdio.h> int sum(int v1, int v2) ...