json和pickle序列化模块
一、json序列化模块
1、序列化:将内存数据转成字符串加以保存。
2、反序列化:将字符串转成内存数据加以读取。
data = { '北京':{
'五道口':{
'sohu':'引擎',
}
}
}
# dumps <--> loads
'''
只是把数据类型转成字符串存到内存(json.dumps,json.loads)里的意义?
1、把你的内存数据通过网络远程共享给其他人
2、定义了不同语言之间的交互规则
<1> 纯文本:不能共享复杂的数据类型
<2> xml:占空间大
<3> json:简单,可读性好
'''
d = json.dumps(data) # 仅转成字符串 <class 'str'>
print(d,type(d)) # {"\u5317\u4eac": {"\u4e94\u9053\u53e3": {"sohu": "\u5f15\u64ce"}}} d_1 = json.loads(d) # 将字符串转成原本的数据类型 <class 'dict'>
print(d_1,type(d_1)) # {'北京': {'五道口': {'sohu': '引擎'}}} # dump <--> load
f = open('test.json','w') # 先打开再读写
d2 = json.dump(data,f) # 转成字符串并写入文件 f1 = open('test.json','r')
d_2 = json.load(f1) # 将文件转成原来的数据类型
print(d_2) # {'北京': {'五道口': {'sohu': '引擎'}}}
二、pickle序列化模块
#!/usr/bin/env python3
#-*- coding:utf-8 -*-
# write by congcong import pickle dict = {'name':'cc','age':21}
len = ['python','hello','world'] # dumps <--> loads
d = pickle.dumps(dict) # 字符串转成bytes类型
print(d) # b'\x80\x03}q\x00(X\x04\x00\x00\x00nameq\x01X\x02\x00\x00\x00ccq\x02X\x03\x00\x00\x00ageq\x03K\x15u.'
d_1 = pickle.loads(d) # bytes类型转为原数据类型
# print(d_1) # {'name': 'cc', 'age': 21} # dump <--> load
# pk = open('data.pkl','wb')
# d2 = pickle.dump(dict,pk) # 字符串转成bytes类型,并保存到硬盘 pk_r = open('data.pkl','rb') # 将硬盘里的bytes类型转为原数据类型
d_2 = pickle.load(pk_r)
print(d_2) # {'name': 'cc', 'age': 21} '''
json 和 pickle 的区别:
json 支持的数据类型 str ,int ,tuple , list , dict ,可跨语言 pickle 支持python里所有的数据类型,但只能在python中使用 '''
json和pickle序列化模块的更多相关文章
- (转)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模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...
- (1)json和pickle序列化模块
json 和pickle 模块 json和pickle模块下都有4个功能 dumps <---> loads (序列化 <--->反序列化) dump <---> ...
- json and pickle 序列化
前言 文件只能存储字符串.二进制,若把内存的数据对象存到硬盘 从硬盘里读取数据,里面不止是字符串的类型,因此用到了json and pickle 序列化 json序列化 作用:用于不同语言进行的数 ...
- json、pickle\shelve模块(超级好用~!)讲解
json.pickle模块讲解 见我前面的文章:http://www.cnblogs.com/itfat/p/7456054.html shelve模块讲解(超级好用~!) json和pickle的模 ...
- day14-Python运维开发基础(内置函数、pickle序列化模块、math数学模块)
1. 内置函数 # ### 内置函数 # abs 绝对值函数 res = abs(-10) print(res) # round 四舍五入 (n.5 n为偶数则舍去 n.5 n为奇数,则进一!) 奇进 ...
- collections queue、os、datetime,序列化(json和pickle)模块
目录 Collections 模块 1.nametuple 2.deque(双端队列) 3.双端队列(deque): 4.Odereddict(有序字典): 5.Defaultdict(默认字典,首字 ...
- Python的json and pickle序列化
json序列化和json反序列化 #!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = '人生入戏' import json a = ...
- Python 入门基础14 --time、os、random、json、pickle 常用模块1
今日内容: 一.常用模块 2019.04.10 更新 1.time:时间 2.calendar:日历 3.datetime:可以运算的时间 4.sys:系统 5.os:操作系统 6.os.path:系 ...
随机推荐
- IE中iframe兼容性问题
在使用iframe的时候,有时候想要让调用的iframe框架里面的不显示白背景,让它变得透明,在firefox是透明的,但是在IE浏览器却不透明. 这个其实比较容易解决,只需要增加一个属性即可. 就是 ...
- c/s和b/s的区别
一.C/S 架构 1. 概念 C/S 架构是一种典型的两层架构,其全程是Client/Server,即客户端服务器端架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库 ...
- Hihocoder1081 最短路径 结构体练习
最短路径 :虽然做过很多次最短路的题,spfa,bellman,floyd都用过不少.但是题目强调的“顺序”又让我加深了对最短路的理解. 当然,主要还是练习下STL: pair型: #include& ...
- Rhel7安装及网卡、yum、vmtools配置和修改主机名
(1)安装Vmware WorkStation 11.0 和 RetHatEnterpriseLinux[RHEL]7.0 步骤就不描述了,网上都可以找到 (2)安装VMware Tools )虚拟机 ...
- Mac OS X显示隐藏文件命令
defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder //显示隐藏文件 defaults wr ...
- LeetCode Path Sum IV
原题链接在这里:https://leetcode.com/problems/path-sum-iv/description/ 题目: If the depth of a tree is smaller ...
- OpenWRT mt7620n 系统升级引起的问题
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/qianguozheng/article/details/27237175 OpenWRT系统升级採用 ...
- Angular2常用命令
一.常用命令 1.1 npm config list配置项目 可进行相关代理配置,通常可以配置在网络环境较差的情况下,配置相关代理.相关的设置命令如图: 1.2 ng 新建启动项目 ng new pr ...
- 为什么 FastAdmin 的插件不全部免费?
为什么 FastAdmin 的插件不全部免费? 主要还是有以下几个原因. 支持开发者. 为了支付网站空间费和 CDN 费. 有收入后可以更好的开发 FastAdmin.
- CENTOS7配置静态IP后无法ping通外部网络的问题
我今天想谈论的并不是如何配置静态IP,这样的话题已经有好多高手再谈. 我想谈的是为什么,我按照他们的教程无论如何也要发生各种问题,没办法连接外网的问题. 先给大家看我的最终版配置方案:我只修改了一个文 ...