首页 > 解决方案 > 解压没有文件的泡菜变量?

问题描述

我在没有使用下面的代码打开文件的情况下腌制了一个 python 变量,但我似乎无法在没有文件的情况下解压它。

import pickle

class Foo:
   attr = 'a class attr'

picklestring = pickle.dumps(Foo)

print(picklestring)

标签: pythonpickle

解决方案


要从字节对象中提取,请使用pickle.loads

In [3]: import pickle
   ...:
   ...: class Foo:
   ...:    attr = 'a class attr'
   ...:
   ...: picklestring = pickle.dumps(Foo)
   ...:
   ...: print(picklestring)
   ...:
b'\x80\x03c__main__\nFoo\nq\x00.'

In [4]: pickle.loads(picklestring)
Out[4]: __main__.Foo

推荐阅读