延长泡菜

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调用AmazonAWSAPI?   Java中的渗流   java在dao端使用逻辑不是一个好的实践吗?   java Swing绘制网格。韦尔德结果   java如何设置PlusOneButton对话框的共享选项的默认文本   java如何在firebase存储中管理多个上载/下载?   java Wicket在多个位置显示相同的文本   java使用j2me通过蓝牙从一个手机向另一个手机发送短信   java为什么不让DialogWait框自动关闭?   java Visual Studio代码JDBC访问Derby数据库   在java中如何根据日期从文件夹中获取文件   java如何从数据库加载多个数据   java匿名类和同步以及“this”   java无法使用Selenium上载文件   java多线程JAXR调用parallelStream还是Futures?   获取要编译的Netbeans Java程序   java检查二叉树是否为有效BST的函数中的“min”和“max”是什么?   java有人能解释为什么这段代码只在构造函数中工作吗?   java如何将多种类型的用户重定向到各自的活动?