gpt4 book ai didi

python - 如何 pickle __main__ 中定义的函数/类(python)

转载 作者:太空狗 更新时间:2023-10-30 01:29:57 24 4
gpt4 key购买 nike

我希望能够从 __main__ 中 pickle 函数或类,但有一个明显的问题(在其他帖子中提到),即 pickle 函数/类位于 __main__ 命名空间中,而在另一个脚本/模块中取消 pickle 将失败。

我有以下有效的解决方案,是否有理由不这样做?

myscript.py中的内容如下:

import myscript
import pickle

if __name__ == "__main__":

print pickle.dumps(myscript.myclass())

else:

class myclass:
pass

编辑:unpickling 将在有权访问 myscript.py 并且可以执行import myscript 的脚本/模块中完成。目的是使用类似 parallel python 的解决方案远程调用函数,并能够编写一个简短的独立脚本,其中包含可以远程访问的函数/类。

最佳答案

Pickle 似乎在ma​​in 范围内寻找类和函数的定义。从你要从中解开的模块内部,试试这个:

import myscript
import __main__
__main__.myclass = myscript.myclass
#unpickle anywhere after this

关于python - 如何 pickle __main__ 中定义的函数/类(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11866944/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com