python进阶(3)序列化与反序列化
2024-10-16 02:56:13
序列化与反序列化
按照某种规则,把内存中的数据保存到文件中,文件是一个字节序列,所以必须要把内存数据转换成为字节序列,输出到文件,这就是序列化;反之,从文件的字节恢复到内存,就是反序列化;
python中序列化与反序列化用到的是json模块
json模块
- dump 将编码结果保存到文件对象或流中
- load 从网络或者磁盘中读取json数据,对其中的json数据解码,返回python数据
- dumps 将编码的结果以字符串形式返回
- loads 对其中的json数据进行解码,返回python数据
'''
序列化
'''
def dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True,
allow_nan=True, cls=None, indent=None, separators=None,
default=None, sort_keys=False, **kw):
obj: 需要序列化的对象
fp: 序列化到哪个文件中
ensure_ascii:当为false时,写入fp的字符串可以包含非ascii字符,当你的obj中含有中文,必须加上ensure_ascii=true
indent:当为正整数时,代表缩进格数,美化打印,一般为4
sort_keys:如果为true,则字典将按键排序
'''
反序列化
'''
def load(fp, *, cls=None, object_hook=None, parse_float=None,
parse_int=None, parse_constant=None, object_pairs_hook=None, **kw):
最新文章
- DSL 或者说是抽象 或者说是沉淀 ,我看到的不错的一篇文章
- System.Security.Cryptography.CryptographicException 出现了内部错误
- Memcached 笔记与总结(3)安装 php-memcache(windows 系统下)
- HDU 4539 郑厂长系列故事――排兵布阵(曼哈顿距离)
- QT 信号与槽 QT简单加法器的实现
- ARM-LINUX学习笔记-(虚拟机linux串口终端以及USB程序下载,基于TQ2440)
- js原生设计模式——7原型模式之new+call(this)组合应用再探讨实例
- Mac 上的 outlook 一直让输入密码
- 转:ef获取某个表中的部分字段值
- Flask 扩展 缓存
- 【swift】ios中生成二维码
- Spring Data JPA 初体验
- 第3章 NFS基本应用
- hive中left join、left outer join和left semi join的区别
- Python.URLs
- 通过phoenix在hbase上创建二级索引,Secondary Indexing
- python基础系列教程——Python库的安装与卸载
- Js/Jquery获取网页屏幕可见区域高度
- linux系统基础之---文件系统与日志(基于centos7.4 1708)
- go chapter 7 - 类型
热门文章
- Mysql:好好的索引,为什么要下推?
- GCD之队列的实现和使用
- Python3列表、元组及之间的区别和转换
- Failed to initialize policy for cpu: 0
- MySQL常用SQL语句2
- Codeforces Round #589 (Div. 2) Another Filling the Grid (dp)
- 获取csc.exe路径
- WPF 无法对元素“TextBox”设置 Name 特性值“TB2”
- k8s二进制部署 - 总结
- OpenStack Train版-8.安装neutron网络服务(控制节点)