我尝试将池发送到字符串,然后稍后将其恢复以关闭/加入池。以下是如何复制我正在做的事情的示例:
import multiprocessing
num_of_p = 5
_pool = multiprocessing.Pool(num_of_p)
pool_string = str(_pool)
有没有办法将pool_string
变回multiprocessing.pool.Pool object
?
答案 0 :(得分:1)
也许你对python的动态类型有误解。
首先,pool_string
永远不是班级multiprocessing.pool.Pool
您刚刚调用了__str__
方法:
>>> pool_string
'<multiprocessing.pool.Pool object at 0x000001F8495BCC18>'
>>> dir(_pool)[26]
'__str__'
>>> _pool.__str__()
'<multiprocessing.pool.Pool object at 0x000001F8495BCC18>'
从脚本的开头到结尾都是字符串。
也许您只想对实际的_pool
:
_pool2 = _pool