day5-json和pickle序列化
#!/usr/bin/python3
import json
data = {'name':'JieSen','height':175,'weight':'68KG'}
#dumps到字符串
json_str = json.dumps(data)
print('dumps到字符串:',json_str,'类型:',type(json_str))
#loads回来
json_dict = json.loads(json_str)
print('loads回来:',json_dict,'类型:',type(json_dict))#输出: dumps到字符串: {"weight": "68KG", "height": 175, "name": "JieSen"} 类型: <class 'str'> loads回来: {'weight': '68KG', 'height': 175, 'name': 'JieSen'} 类型: <class 'dict'>
#!/usr/bin/python3
import json
with open('data_json.txt','w+',encoding='utf-8') as f:
json.dump(data,f)
with open('data_json.txt','r') as f:
data_r = json.load(f)
print(data_r)
import json l1 = ["alex", 123, "eric"] l2 = ["alex", 123, 'eric'] s1 = """ ["alex", 123, "eric"] """ s2 = """ ["alex", 123, 'eric'] """ print(json.dumps(l1)) print(json.dumps(l2)) print(json.loads(s1)) print(json.loads(s2)) #这里会出错,网上说是引号要一致,暂时先这么理解吧,大家有更新的说法麻烦给说下
#!/use/bin/python3
import pickle
data = {'k1':1,'k2':2}
#以二进制方式打开一个文件并将数据dump保存到文件里面
with open('pickle_data.txt','wb') as f:
pickle.dump(data,f)
#以二进制读取方式打开文件并load加载
with open('pickle_data.txt','rb') as f:
fb = pickle.load(f)
print(fb)
输出:
{'k1': 1, 'k2': 2}
如果处理的不是文件,可以使用pickle.dumps和pickle.loads,例如:
data = {'name':'JieSen','height':175,'weight':'68KG'}
#转换为一个字节流对象
pickle_byte = pickle.dumps(data)
print(pickle_byte,'格式:',type(pickle_byte))
#从字节流中恢复对象
pickle_dict = pickle.loads(pickle_byte)
print(pickle_dict,'格式:',type(pickle_dict))
输出:
b'\x80\x03}q\x00(X\x04\x00\x00\x00nameq\x01X\x06\x00\x00\x00JieSenq\x02X\x06\x00\x00\x00heightq\x03K\xafX\x06\x00\x00\x00weightq\x04X\x04\x00\x00\x0068KGq\x05u.' 格式: <class 'bytes'>
{'name': 'JieSen', 'height': 175, 'weight': '68KG'} 格式: <class 'dict'>
总结:
1.pickle序列化的是字节,而json序列化的是字符。
2.json.dump,json.load和pickle.dump,pickle.road处理的都是文件。
3.json.dumps把对象编码成json字符串
4.json.loads把已编码的 JSON 字符串解码为 Python 对象
day5-json和pickle序列化的更多相关文章
- json and pickle 序列化
前言 文件只能存储字符串.二进制,若把内存的数据对象存到硬盘 从硬盘里读取数据,里面不止是字符串的类型,因此用到了json and pickle 序列化 json序列化 作用:用于不同语言进行的数 ...
- (转)python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
阅读目录 1.1.1导入模块 1.1.2__name__ 1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代 ...
- python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...
- Python的json and pickle序列化
json序列化和json反序列化 #!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = '人生入戏' import json a = ...
- (1)json和pickle序列化模块
json 和pickle 模块 json和pickle模块下都有4个功能 dumps <---> loads (序列化 <--->反序列化) dump <---> ...
- Python3 json、pickle序列化与反序列化
注意:可以dumps多次,loads只能一次,一般我们只dumps一次,loads一次,多个版本就写入多个文件 一.json序列化与反序列化: 支持各种语言数据交互,但只能处理字典,列表,集合等简单的 ...
- json和pickle序列化模块
一.json序列化模块 1.序列化:将内存数据转成字符串加以保存. 2.反序列化:将字符串转成内存数据加以读取. data = { '北京':{ '五道口':{ 'sohu':'引擎', } } } ...
- python 跨语言数据交互、json、pickle(序列化)、urllib、requests(爬虫模块)、XML。
Python中用于序列化的两个模块 json 用于[字符串]和 [python基本数据类型] 间进行转换 pickle 用于[python特有的类型] 和 [python基本数据类型]间进 ...
- json and pickle 序列化和反序列化
类似vmware虚拟机里的虚拟主机挂起操作,把当前内存拷贝成文件保存. 上面的这种操作就叫内存序列化:如下图: 有序列化就有反序列化,要把文件里的东西再恢复成字典:eval把字符串变成字典. 但是上面 ...
- python学习之day5,装饰器,生成器,迭代器,json,pickle
1.装饰器 import os import time def auth(type): def timeer(func): def inner(*args,**kwargs): start = tim ...
随机推荐
- 制作正式版10.11 OS X El Capitan 安装U盘(优盘)
一.准备工作:1.准备一个 8GB 或以上容量的 U 盘,确保里面的数据已经妥善备份好(该过程会抹掉 U 盘全部数据)2.从官网Appstore下载下来的 “安装 OS X El Capitan”,当 ...
- iOS 开发笔记-Objective-C之KVC、KVO
概述 键值编码(KVC).键值监听(KVO)特性 键值监听KVO Key Value Observing(简称KVO)其实是一种观察者模式,利用它可以很容易实现视图组件和数据模型的分离,当数据模型的属 ...
- cocos2d-x getParent() 获得一个父类的一个node型指针,转换为父类类型
void CenterLayer::zhanzheng(CCObject* pSender){ ((GameScene*)this->getParent())->showLayer(Gam ...
- 延期版本webstorm(解决许可证过期,注册,激活,破解,码,支持正版,最新可用)
很多人都发现 http://idea.lanyus.com/ 不能激活了 很多帖子说的 http://15.idea.lanyus.com/ 之类都用不了了 选择 License server (20 ...
- template.js简单入门
template.js是一款开源的JavaScript模板引擎,用来渲染页面的. github地址 https://github.com/yanhaijing/template.js 下载templa ...
- Thinkphp 3.2 验证码图片显示错误解决方法
在调用验证码之前加上 ob_clean(); 不显示验证码的代码: public function verify(){ $verify = new \Think\Verify(); $verify-& ...
- bzoj 2308 小Z的袜子(莫队算法)
小Z的袜子 [题目链接]小Z的袜子 [题目类型]莫队算法 &题解: 莫队算法第一题吧,建议先看这个理解算法,之后在参考这个就可以写出简洁的代码 我的比第2个少了一次sort,他的跑了1600m ...
- winform下picturebox控件显示图片问题
viewData_pictureBox.SizeMode=PictureBoxSizeMode.StretchImage;图片会自动按照比例缩放来完全显示在你的PictureBox中.
- [2]传奇3服务器源码分析一 LoginServer
留存 服务端下载地址: 点击这里
- jQuery事件--blur()和focus()
blur([[data],fn]) 概述 当元素失去焦点时触发 blur 事件. 这个函数会调用执行绑定到blur事件的所有函数,包括浏览器的默认行为.可以通过返回false来防止触发浏览器的默 ...