Python的序列化和反序列化模块的简单介绍(实例代码)

不言
不言 原创
2018-09-14 16:55:36 1608浏览

本篇文章给大家带来的内容是关于Python的序列化和反序列化模块的简单介绍(实例代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

序列化:将对象转换为可通过网络传输或可存储到本地磁盘的数据格式的转换过程,称为序列化,反之,称为反序列化

json: 用来实现不同语言,不同程序直接的信息交互,json支持所有高级语言之间的序列化交互,json只能通过 字典—>字符串—>字典 的格式转换

注:json是读写序列化格式

pickle: python 中独有的序列化方法,如果有需要Python可以把Python中几乎所有的类型都可以序列化转换

注:pickle是二进制读写序列化格式

json与pickle都有相同的方法:

  x.dumps():将得到的json或pickle数据序列化为一个bytes,然后将这个bytes写入磁盘或进行传输

  x.loads():把得到的json或pickle数据从磁盘中读到内存中时,把内容先读到一个bytes中,然后再用loads反序列化出对象

  x.dump():可直接将得到的json或pickle数据序列化后保存到文件中

  x.load():可直接读取文件中的json或pickle数据进行反序列化

实例:

序列化

import json,pickle
# f = open('测试文件.txt', 'w')     # json 运用 'w',写入
f = open('测试文件.txt', 'wb')        # pickle 运用二进制'wb'写入

info = {
    'Presly': 'come on',
    'Vera': '2333',
    'mini': 'hello'
}
# json.dump(info, f)        # 转为纯字符串
# f.write(json.dumps(info))

pickle.dump(info, f)         # 转为二进制
# f.write(pickle.dumps(info))

f.close()

反序列化

import json , pickle
# f = open('测试文件.txt', 'r')
f = open('测试文件.txt', 'rb')
# data = json.load(f)         # 只能识别字符串,不能识别二进制
# data = json.loads(f.read())
# data = pickle.load(f)          # 只能识别二进制
data = pickle.loads(f.read())
print(data)
f.close()

相关推荐:

python3序列化与反序列化用法实例

序列化和反序列化的详细介绍

以上就是Python的序列化和反序列化模块的简单介绍(实例代码)的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。