博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
json和pickle
阅读量:7240 次
发布时间:2019-06-29

本文共 1091 字,大约阅读时间需要 3 分钟。

 

Pickle序列化

用于序列化的两个模块

  • json,用于字符串 和 python数据类型间进行转换
  • pickle,用于python特有的类型 和 python的数据类型间进行转换
python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。json是可以和别的语言交互,转换后别的语言可以使用,但仅限于字符串,列表和字典而pickle是python独有的,可以保存当前状态,可以存档
简单详解

Json模块提供了四个功能:dumps、dump(序列化,存)、loads(反序列化,读)、load

pickle模块提供了四个功能:dumps、dump(序列化,存)、loads(反序列化,读)、load  (不仅可以序列化字典,列表...还可以把一个程序,一个类给序列化掉)

import json

#loads  #-->  内部必须是双引号

#dumps --loads  (对现有的一个操作)

s = '{"desc":"invilad-citykey", "status":1002}'      l = [11,22,33,44]            result = json.loads(s)      print(result,type(result))      result = json.dumps(l)      print(result,type(result))      结果:      {
'status': 1002, 'desc': 'invilad-citykey'}
[11, 22, 33, 44]

dump  -- load(对文件的一个操作)

s = {
"desc":"invilad-citykey", "status":1002} l = [11,22,33,44] a = json.dump(s,open("db","w", encoding="utf-8")) b = json.load(open("db","r", encoding="utf-8")) print(b, type(b))

 注意一个问题:

如果是汉字进行json转换的话:会转换成编码

所以

t = json.dumps(r, ensure_ascii=False)

ok,这就是区别

转载地址:http://kzfbm.baihongyu.com/

你可能感兴趣的文章
server系统开启ping功能
查看>>
【年中福利又一波】爱加密邀你体验安全之旅 各种豪礼任性送!
查看>>
android Activity 生命周期
查看>>
入行程序员一个月的感受
查看>>
通过Job,Trigger,Scheduler看Quartz2.x作业调度框架
查看>>
数组细节
查看>>
Windows下PATH等环境变量详解
查看>>
定时器
查看>>
带你制作百词斩单词表读写插件
查看>>
我的友情链接
查看>>
python学习笔记4-python文件操作
查看>>
Python WEB开发环境搭建及配置六之Django
查看>>
Ubuntu14.04安装vim
查看>>
我的友情链接
查看>>
Juniper防火墙部署工程
查看>>
使ActionBar(Toolbar)的Up导航和实体按键Back实现同步
查看>>
umask命令
查看>>
在XenServer 6.0中设置自动启动虚拟机
查看>>
Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Conditio
查看>>
mysql 引擎介绍
查看>>