32.13. pickletools — pickle 开发人员的工具 — Python 文档
来自菜鸟教程
Python/docs/2.7/library/pickletools
32.13. 泡菜工具 — pickle 开发人员的工具
2.3 版中的新功能。
源代码: :source:`Lib/pickletools.py`
该模块包含与 pickle 模块的私密细节相关的各种常量、一些关于实现的冗长评论,以及一些用于分析pickle 数据的有用函数。 该模块的内容对于从事 pickle 和 cPickle 实现的 Python 核心开发人员很有用; pickle 模块的普通用户可能不会发现 pickletools 模块相关。
- pickletools.dis(pickle, out=None, memo=None, indentlevel=4)
- 将泡菜的符号反汇编输出到类似文件的对象 out,默认为
sys.stdout
。 pickle 可以是字符串或类似文件的对象。 memo 可以是一个 Python 字典,将用作泡菜的备忘录; 它可用于跨由同一pickler 创建的多个pickle 执行反汇编。 流中由MARK
操作码指示的连续级别由 indentlevel 空格缩进。
- pickletools.genops(pickle)
- 在泡菜中的所有操作码上提供 迭代器 ,返回
(opcode, arg, pos)
三元组的序列。 opcode 是一个OpcodeInfo
类的实例; arg 是作为 Python 对象的操作码参数的解码值; pos是这个操作码所在的位置。 pickle 可以是字符串或类似文件的对象。
- pickletools.optimize(picklestring)
消除未使用的
PUT
操作码后,返回一个新的等效 pickle 字符串。 优化后的腌渍时间更短,传输时间更短,需要的存储空间更小,脱腌效率更高。2.6 版中的新功能。