您的位置:首页 > 编程语言 > Python开发

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)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: