python序列化和json

python 的序列化和反序列化用于内存之间的共享,包括服务器和客户端的共享,两个Python程序之间的共享,以及以字符串的形式存储到硬盘中。
pyhton 的pickle 可以对Python的各种数据类型进行操作,包括类,列表,对象等。pickle中只适用于Python。
硬盘存数据只能是字符串的形式,序列化这种方式实现两个程序之间内存数据的交互
import pickle li = ['xiaoli','xiaowang','12','3','4']
dumped = pickle.dumps(li) #将列表进行了序列化
print dumped
loaded = pickle.loads(dumped) #将序列化的数据进行了反序列化
print loaded
序列化的同时存储到文件中,以及在文件中反序列化
import pickle
li = ['xiaoli','xiaowang','12','3','4']
pickle.dump(li,open('F:/python practice/temp.pk','w')) #将列表序列化之后存储到文件当中
print pickle.load(open('F:/python practice/temp.pk','r')) #将文件中的数据读取出来进行反序列化
JSON的使用
json只能对简单的数据类型进行操作,不可以对类等一些复杂的数据类型进行操作。json是各种语言通用的一种格式。
json的操作和pickle的操作几乎相同
import json
li = ['xiaoli','xiaowang','xiaoming',12]
print json.dumps(li) #将列表序列化
print json.loads(json.dumps(li)) #反序列化
python序列化和json的更多相关文章
- Python序列化之json与pickle
1.json介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Progra ...
- python序列化模块json和pickle
序列化相关 1. json 应用场景: json模块主要用于处理json格式的数据,可以将json格式的数据转化为python的字典,便于python处理,同时也可以将python的字典或列表等对象转 ...
- python 序列化之JSON和pickle详解
JSON模块 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类 ...
- Python序列化之Json基础
python的序列化就是将python的基本对象转换为字符串的过程,反之则是反序列化. 序列化类型: -> import json import pickle 序列化定义: 序列化:对象.列表. ...
- python序列化模块 json&&pickle&&shelve
#序列化模块 #what #什么叫序列化--将原本的字典.列表等内容转换成一个字符串的过程叫做序列化. #why #序列化的目的 ##1.以某种存储形式使自定义对象持久化 ##2.将对象从一个地方传递 ...
- Python序列化,json&pickle&shelve模块
1. 序列化说明 序列化可将非字符串的数据类型的数据进行存档,如字典.列表甚至是函数等等 反序列化,将通过序列化保存的文件内容反序列化即可得到数据原本的样子,可直接使用 2. Python中常用的序列 ...
- python序列化: json & pickle & shelve 模块
一.json & pickle & shelve 模块 json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进 ...
- python 序列化 json pickle
python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过pickle模块的反序列化操作,我们能够从文件 ...
- Python之数据序列化(json、pickle、shelve)
本节内容 前言 json模块 pickle模块 shelve模块 总结 一.前言 1. 现实需求 每种编程语言都有各自的数据类型,其中面向对象的编程语言还允许开发者自定义数据类型(如:自定义类),Py ...
随机推荐
- ubuntu下刷新dns
也是一条命令就可以:sudo /etc/init.d/dns-clean start
- 转:解决centos netstat和ps感染木马
解决方法:a.去除恶意文件的执行权限chmod 000 /tmp/gates.lod /tmp/moni.lod service sendmail stopchkconfig --level ...
- js中的target与currentTarget的区别<转>
关于js中target与currentTarget的区别的关键在于他们所处在的事件流的阶段是不一样的,target处于事件流的目标阶段,currentTarget处理事件流的捕获.处于目标阶段和冒泡阶 ...
- QT在CT上的安装及运行
http://www.cubie.cc/forum.php?mod=viewthread&tid=2662&highlight=qt
- Amazon EC2云端服务器的使用方法
Amazon的EC2服务器可以理解为虚拟机,不过它是不需要安装系统的,它是根据镜像自动创建的.在申请EC2的时候,可以选择操作系统的类型,如Redhat Enterprise 6或ubuntu 12等 ...
- 一个通用的JavaScript分页
1.JavaScript代码 Pagination=function(id) { var totalNum=0; var maxNum=10; var pageUrl=""; va ...
- 数据库 proc编程七
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stri ...
- C++ 引用本质的详解
//引用本质的理解① #include<iostream> using namespace std; int GetA(){ ; return a; } int & GetB(){ ...
- Stochastic Multiple Choice Learning for Training Diverse Deep Ensembles
作者提出的方法是Algotithm 2.简单来说就是,训练的时候,在几个模型中,选取预测最准确的(也就是loss最低的)模型进行权重更新.
- linux -- chcp
mysql在控制台中,插入数据到数据库的某个表中,插入的数据中有中文,结果一直显示错误Incorrect string...,不能插入成功 猜测是编码格式不一致.可通过chcp命令修改控制台编码格式 ...