json 可以在不同语言中进行使用

下面先介绍一下json的适用方法

import json, pickle
t1 = {
'name':'alex',
'password':'',
'age' : ''
} t1 = json.dumps(t1) #进行序列化,把t1被转换成字符串
f = open('t1.txt', encoding='utf-8', mode='w') #utf-8的编码方式
f.write(t1) # 写入t1,这时候的t1的样子还是原来的样子
f.close()
f = open('t1.txt', encoding='utf-8', mode='r') #打开文件
t = f.read() #读取文件内容
print(json.loads(t)) #反序列化,重新转换为dict形式

pickle 只能在python中使用

json 和 pickle 的语法相同 ,pickle 可以用来传递函数

下面以pickle为例

序列化.py

def say():
print('hello') lis = {
'name':'alex',
'password':'',
'func': say #传入函数的内存地址
}
f = open('t2.txt', mode='wb') #以二进制的方式打开
lis = pickle.dumps(lis) #进行序列化,转换后的格式是二进制
f.write(lis) #写入文件
f.close() f = open('t2.txt', mode='rb')
t = f.read()
data = pickle.loads(t) #反序列化
data['func']() #验证函数是否还是可执行

对于json.dumps 和 json.loads  而言 最好是每次转换只出现一次

序列化和反序列化(json 和pickle)dumps 为序列化, json为反序列化的更多相关文章

  1. json 与pickle模块(序列化与反序列化))

    一.什么是序列化(pickling): 我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化. 序列化可以持久保存状态, 不会根据计算机断电或者重启程序,而使得之前的数据状态丢失.可以在下次程 ...

  2. json,pickle,shelve序列化

    import json a = [{"a":"b"}] jd = json.dumps(a) #序列化,就是对象通过内存能够存储和传输的过程 with open ...

  3. python - 关于json和pickle两个序列化模块的区别

    传送门 https://stackoverflow.com/a/20980488/5955399 区别 json:用于字符串(unicode text)和python基本数据类型间进行转换.优点:跨语 ...

  4. json和pickle序列化模块

    一.json序列化模块 1.序列化:将内存数据转成字符串加以保存. 2.反序列化:将字符串转成内存数据加以读取. data = { '北京':{ '五道口':{ 'sohu':'引擎', } } } ...

  5. 20,序列化模块 json,pickle,shelve

    序列化模块 什么叫序列化? 将原本的字典,列表等内容转换成一个字符串的过程叫做序列化. 序列化的目的? 数据结构 通过序列化 转成 str. str 通过反序列化 转化成数据结构. json: jso ...

  6. 2019-7-18 collections,time,random,os,sys,序列化模块(json和pickle)应用

    一.collections模块 1.具名元组:namedtuple(生成可以使用名字来访问元素的tuple) 表示坐标点x为1  y为2的坐标 注意:第二个参数可以传可迭代对象,也可以传字符串,但是字 ...

  7. day6_python之pickle、shelve序列化和反序列化

    pickle.shelve,python私有,支持所有python数据类型 一.pickle dic={'name':'egon','age':18} print(pickle.dumps(dic)) ...

  8. 20201214-1 Json与pickle数据序列化

    1-1 文件处理时,只能存字符串或者二进制 info = { 'name':'alex', 'age':22 } f = open("test.text", "w&quo ...

  9. json和pickle

    Pickle序列化 用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 python的pic ...

  10. Python档案袋( Json、pickle、加密与解密)

    Json是各程序通用的数据格式:pickle是Python特有的,可以存储很多Python特有的数据,如函数地址等 Json的简单使用: import json jsondata={ "us ...

随机推荐

  1. CSI-MIPI学习笔记

    一.mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系 公式: Mipiclock = [ (width+hsync+hfp+hbp) x (height+vsync+vfp+vbp) ] x ...

  2. 时间操作(JavaScript版)—页面显示格式:年月日 上午下午 时分秒 星期

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/wangshuxuncom/article/details/35222531 <!DOCTYPE ...

  3. folder,source folder,package 区别

    source folder source folder下面的Java文件都会被编译,编译后的文件会被放在我们设置的某个文件夹下面(一般我们设置成WEB-INF/classes),source fold ...

  4. c#操作xml的代码(插入节点、修改节点、删除节点等)

    bookstore.xml文件内容: 复制代码代码示例: <?xml version="1.0" encoding="gb2312"?><bo ...

  5. 10个CSS+HOVER 的创意按钮

    CSS hover 样式很简单,但是想创造出有意思.实用.有创意性的特效是很考验设计师的创意能力,所以设计达人每隔一段时间都会分享一些与鼠标点击.悬停的相关特效,以便大家获得更好的创造灵感. 今天我们 ...

  6. LAMP兄弟连 李强强 GVIM配置文件完整版

    转自http://blog.sina.com.cn/s/blog_5fbb378c01016npv.html "自己看着李强强老师视频代码手写打的.之前最后的一个gvim默认函数方法没放上, ...

  7. 【FusionCharts学习-3】显示中国地图

    概述 使用FusionCharts显示中国地图 资源获取 地图下载地址:http://www.fusioncharts.com/download/maps/definition/   将下载的地图拷贝 ...

  8. 排查linux下java应用cpu占用过高

    用于快速排查Java的CPU性能问题(top us值过高),自动查出运行的Java进程中消耗CPU多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用.目前只支持Linux.原因是Mac.Win ...

  9. C# winfrom ComboBox 调整下拉菜单的高度

    1.设置属性 // 1.属性设置 DrawMode ->OwnerDrawVariable this.cboBoxPostID.DrawMode = System.Windows.Forms.D ...

  10. windows基础应用(word)

    自动编号-最后选择一下编号格式 TAB 进入子节 shift+TAB 回退到父节 取消邮箱/网址链接 ctrl+z word中输入不认识生僻字:输入偏旁部首王,选中插入中寻找 输入英文时,更改大小写/ ...