延长泡菜

extpickle的Python项目详细描述


扩展原始Pickler class 以便能够pickle一些其他不受支持的类型。 重点是要快速,并通过管道/插座进行通信 另一端是同一个python版本,因此我们不太关心与其他版本的兼容性。

一个类似的项目是dill,不过规模要大得多。

此项目已注册on PyPI,可以通过

pip install extpickle

有关一些用法示例,请参见the test code

在基类Pickler上,它添加了对:

  • types.FunctionTypetypes.CodeType和单元格类型。 也就是说,你可以泡菜和函数。 注意,这将对字节码使用marshal模块,因此这在不同的Python版本中是不可移植的
  • 模块。这是通过引用它的名字来完成的。 注意,is对__main__有一些额外的处理,允许它是不同的模块
  • mod.__dict__其中mod是一个模块,也存储为对该模块的引用,而不是dict的副本
  • (Python 2)buffer
  • numpy.ndarray。 基类也支持这一点,但我们的实现要快得多。 实际上,这有点奇怪,因为默认实现也应该同样快,但不是。 我们的实现基本上只使用fromstring/tostring
  • 新风格的课程。 基类将尝试在模块中查找它们。如果在此类命名空间中找不到它,则此操作将失败。 如果失败,我们的实现将实际存储信息来构造一个新类, 也就是说,名字,碱基和它的名言
  • (Python2)旧式类。这与新样式类的行为相同。

这是在TaskSystem project中使用的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是从此类字符串中提取数据的最佳方法   filenotfoundexception Java FileOutputStream Windows/Linux   java在SQLite数据库Android SDK中搜索特定字符串   java使用键值访问jsp中Map<Long,Map<String,Object>>的内容   java奇怪的HTMLeditor工具包问题   在java中使用数组只计算字母   每个应用程序都可以有自己独立的Java SDK吗   java如何将jasper报告生成的PDF文件保存在一个项目文件夹中   java BigDecimal包装器:静态字段为零   解码Base64图像时出现java IllegalArgumentException(非法的Base64字符)   将int转换为字节在Java和Actionscript中产生不同的结果   java什么使不可变对象在没有安全发布技术的情况下发布?   java将字节数据写入目录   一个计算器中有多个操作的java问题   面向对象Java重写是如何工作的   带hibernate的java ClassCastException   指向最后一个对象的java对象列表   java单元测试spring项目中的Get请求