一、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序列化模块的更多相关文章

  1. (转)python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)

    阅读目录 1.1.1导入模块 1.1.2__name__ 1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代 ...

  2. python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)

    1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...

  3. (1)json和pickle序列化模块

    json 和pickle 模块 json和pickle模块下都有4个功能 dumps  <---> loads  (序列化 <--->反序列化) dump <---> ...

  4. json and pickle 序列化

    前言 文件只能存储字符串.二进制,若把内存的数据对象存到硬盘   从硬盘里读取数据,里面不止是字符串的类型,因此用到了json and pickle 序列化 json序列化 作用:用于不同语言进行的数 ...

  5. json、pickle\shelve模块(超级好用~!)讲解

    json.pickle模块讲解 见我前面的文章:http://www.cnblogs.com/itfat/p/7456054.html shelve模块讲解(超级好用~!) json和pickle的模 ...

  6. day14-Python运维开发基础(内置函数、pickle序列化模块、math数学模块)

    1. 内置函数 # ### 内置函数 # abs 绝对值函数 res = abs(-10) print(res) # round 四舍五入 (n.5 n为偶数则舍去 n.5 n为奇数,则进一!) 奇进 ...

  7. collections queue、os、datetime,序列化(json和pickle)模块

    目录 Collections 模块 1.nametuple 2.deque(双端队列) 3.双端队列(deque): 4.Odereddict(有序字典): 5.Defaultdict(默认字典,首字 ...

  8. Python的json and pickle序列化

    json序列化和json反序列化 #!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = '人生入戏' import json a = ...

  9. Python 入门基础14 --time、os、random、json、pickle 常用模块1

    今日内容: 一.常用模块 2019.04.10 更新 1.time:时间 2.calendar:日历 3.datetime:可以运算的时间 4.sys:系统 5.os:操作系统 6.os.path:系 ...

随机推荐

  1. tf随笔-5

    # -*- coding: utf-8 -*-import tensorflow as tfw1=tf.Variable(tf.random_normal([2,6],stddev=1))w2=tf. ...

  2. Hive——巧用transform处理复杂的字符串问题

    相比于Map-Reduce,Hive对数据的处理相对简单,但是Hive本身提供的函数,对于处理复杂的字符串问题,就显得不是很方便,此时,可以借助transform,引入外界的Python程序对字符串进 ...

  3. Leetcode 986. Interval List Intersections

    暴搜.. class Solution(object): def intervalIntersection(self, A: List[Interval], B: List[Interval]) -& ...

  4. 10.Linux网卡的配置及详解

    1.网卡配置文件在/etc/sysconfig/network-scripts/下: [root@oldboy network-scripts]# ls /etc/sysconfig/network- ...

  5. CENTOS7.3 64位架设使用MYSQL数据库的ASP.NET CORE网站

    注:本人使用的是云服务器,具体CentOS怎么安装这里不作赘述. 网站架设效果可以查看https://www.resape.com 一.在CentOS上安装Dotnet Core环境 1.Add th ...

  6. 【英语】TED视频笔记

    2014-09-22 讲话的七宗罪呢:流言蜚语.评判.消极.抱怨.借口.浮夸.固执己见. 讲话的四个要素:HAIL - 诚实,做自己,说到做到,爱. 2014-09-23 Do more of the ...

  7. 【英语】Bingo口语笔记(85) - ain,ane读法

  8. 阿里云ESC上面部署项目

    注意:我这里的服务器是Windows系统,后面会研究Linux下的命令 1.将javaWEB项目打包为war包 右击项目,先择“Export ” 2.通过“附件”->“远程连接桌面”,连接到服务 ...

  9. 为什么我的 FastAdmin 慢?

    为什么我的 FastAdmin 慢? 排查流程 询问 demo.fastadmin.net 是否慢,官方 demo 安装了 80% 的插件. 开发时一般都是打开 debug 配置,上线要把 debug ...

  10. bzoj 4032 [HEOI2015]最短不公共子串——后缀自动机

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4032 不是 b 的子串的话就对 b 建后缀自动机,在 a 上枚举从每个位置开始的子串或者找子 ...