Python3 序列化, json序列化
2017-01-25 15:51
211 查看
我们把变量从内存中变成可存储或传输的过程称之为序列化
如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便。
import json
import pickle
d = {'name': 'john', 'score': '100'}
#序列化, 从内存向磁盘中写入
f = open('test.txt', 'wb')
#方法一 先序列化,再写入
a = pickle.dumps(d)
print(a)
f.write(a)
f.close()
#方法二 序列化直接写入file
f = open('test1.txt', 'wb')
pickle.dump(d, f)
f.close()
#反序列化
#方法一 先把磁盘中的内容读到一个变量里面,然后再反序列化变量
f = open('test.txt', 'rb')
a = f.read()
print(a)
b = pickle.loads(a)
print(b)
f.close()
#方法二 直接把文件中的内容反序列化到一个变量
f = open('test.txt', 'rb')
a = pickle.load(f)
print(a)
f.close()
print('=======================================================')
#=======================================================
#序列化为JSON
#方法一
a = json.dumps(d)
print(a)
#方法二
f = open('test2.txt', 'w')
json.dump(d, f)
f.close()
#反JSON序列化
#方法一
b = json.loads(a)
print(b)
#方法二
f = open('test2.txt', 'r')
a = json.load(f)
print(a)
如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便。
import json
import pickle
d = {'name': 'john', 'score': '100'}
#序列化, 从内存向磁盘中写入
f = open('test.txt', 'wb')
#方法一 先序列化,再写入
a = pickle.dumps(d)
print(a)
f.write(a)
f.close()
#方法二 序列化直接写入file
f = open('test1.txt', 'wb')
pickle.dump(d, f)
f.close()
#反序列化
#方法一 先把磁盘中的内容读到一个变量里面,然后再反序列化变量
f = open('test.txt', 'rb')
a = f.read()
print(a)
b = pickle.loads(a)
print(b)
f.close()
#方法二 直接把文件中的内容反序列化到一个变量
f = open('test.txt', 'rb')
a = pickle.load(f)
print(a)
f.close()
print('=======================================================')
#=======================================================
#序列化为JSON
#方法一
a = json.dumps(d)
print(a)
#方法二
f = open('test2.txt', 'w')
json.dump(d, f)
f.close()
#反JSON序列化
#方法一
b = json.loads(a)
print(b)
#方法二
f = open('test2.txt', 'r')
a = json.load(f)
print(a)
相关文章推荐
- PyCon 2011 - Hidden Treasures of the Python Standard Library - json序列化操作
- Python JSON序列化
- python 之序列化(pickle模块和json模块)
- Python json序列化时default/object_hook指定函数处理
- 解决Python自带的json序列化工具不能序列化datetime类型数据问题
- python整理二十四——让simplejson支持datetime类型的序列化
- Python之数据序列化(json、pickle、shelve)
- python 学习 -- json的序列化和反序列化
- 【Python】|JSON序列化与反序列化
- Python Json序列化与反序列化
- python json 序列化反序列化 和 中文编码问题
- python序列化模块json和pickle
- [Python进阶-7]文件和目录的IO操作,以及json序列化和反序列化
- python 序列化之JSON和pickle详解
- Python序列化模型数据为JSON
- python Json的一点收获,自定义序列化方法
- python的序列化和反序列化以及json
- python序列化和json
- python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
- python json 序列化