数据持久化¶
本章中描述的模块支持在磁盘上以持久形式存储 Python 数据。 pickle 和 marshal 模块可以将许多 Python 数据类型转换为字节流,然后从字节中重新创建对象。 各种与 DBM 相关的模块支持一系列基于散列的文件格式,这些格式存储字符串到其他字符串的映射。
本章中描述的模块列表是:
pickle --- Python 对象序列化
与其他 Python 模块间的关系
与 marshal 间的关系
与 json 模块的比较
数据流格式
模块接口
可以被封存/解封的对象
封存类实例
持久化外部对象
Dispatch 表
处理有状态的对象
类型,函数和其他对象的自定义归约
外部缓冲区
提供方 API
使用方 API
示例
限制全局变量
性能
例子
命令行接口
copyreg --- 注册 pickle 支持函数
示例
shelve --- Python 对象持久化
限制
示例
marshal --- 内部 Python 对象序列化
dbm --- Unix "数据库" 接口
dbm.sqlite3 --- 针对 dbm 的 SQLite 后端
dbm.gnu --- GNU 数据库管理器
dbm.ndbm --- 新数据库管理器
dbm.dumb --- 便携式 DBM 实现
sqlite3 --- SQLite 数据库的 DB-API 2.0 接口
教程
参考
模块函数
模块常量
连接对象
游标对象
Row 对象
Blob 对象
PrepareProtocol 对象
异常
SQLite 与 Python 类型
默认适配器和转换器(已弃用)
命令行接口
常用方案指引
如何在 SQL 查询中使用占位符来绑定值
如何将自定义 Python 类型适配到 SQLite 值
如何编写可适配对象
如何注册适配器可调用对象
如何将 SQLite 值转换为自定义 Python 类型
适配器和转换器范例程序
如何使用连接快捷方法
如何使用连接上下文管理器
如何使用 SQLite URI
如何创建并使用行工厂对象
如何处理非 UTF-8 文本编码格式
说明
事务控制
通过 autocommit 属性进行事务控制
通过 isolation_level 属性进行事务控制