这篇文章将为大家详细讲解有关如何理解序列化的pickle和json模块,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
用于序列化的两个模块
json:用于字符串和Python数据类型间进行转换
pickle: 用于python特有的类型和python的数据类型间进行转换
json提供四个功能:dumps, dump, loads, load
pickle提供四个功能:dumps, dump, loads, load
import pickle
data = ['aa', 'bb', 'cc']
# 转换成序列数据
p_str = pickle.dumps(data)
print(p_str)
# 从序列转换回数据
inverse_data = pickle.loads(p_str)
print(inverse_data)
# 转换成序列并写入文件
with open('tmp.pkl', 'wb') as f:
pickle.dump(data, f)
#从序列文件中读取数据
with open('tmp.pkl', 'rb') as f:
data = pickle.load(f)
print(data)
注意: pickle打开文件的方式必须使用'rb'或者’wb'即使用二进制读写。
import json
data = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, '你好': 6}
j_data = json.dumps(data)
print(j_data)
with open('data.json', 'w') as f:
json.dump(data, f)
# 读取数据
with open('data.json', 'r') as f:
data = json.load(f)
print(data)
json打开文件的方式必须使用'r'或者’w'即使用二进制读写。
关于如何理解序列化的pickle和json模块就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。