我正在尝试执行以下步骤:
直到第3步,一切顺利。第4步失败了。
以下是我使用的代码:
create.py
import pickle
class A():
pass
foo = A()
def bar():
print('hello')
foo.bar = bar.__get__(foo)
with open('test.pkl', 'wb') as f:
pickle.dump(foo, f)
运行foo.bar告诉我,该栏现在是A对象的绑定方法:
foo.bar
绑定方法栏< main 。对象位于0x000002014B8250F0>
use.py
import pickle
f = open('test.pkl', 'rb')
foo = pickle.load(f)
foo.bar()
任何想法,最好的方法是什么?我的目标很简单,就是拥有某种可存储的对象,可以从外部加载并允许访问foo,也可以使用exectue bar。因此,bar不一定必须是foo对象的一部分,我只是认为这将是一个整洁的方式。谢谢你的帮助!