我尝试使用多处理,但我一直收到以下错误:
AttributeError: Can't get attribute 'processLine' on <module '__main__'
(processLine函数返回word,所以我想问题就在这里,但我不知道如何解决它)
^{pr2}$我得到的是: 进程ForkPoolWorker-1:
进程ForkPoolWorker-2:
进程ForkPoolWorker-3:
处理ForkPoolWorker-4:
回溯(最近一次呼叫):
文件“/Users/user/anaconda/lib/python3.6/multiprocessing/进程.py“,第249行,in\u引导
self.run()
文件“/Users/user/anaconda/lib/python3.6/multiprocessing/进程.py“,第93行,运行中
self._target(*self._args, **self._kwargs)
文件“/Users/user/anaconda/lib/python3.6/multiprocessing/池.py“,第108行,在worker中
task = get()
多处理用户/lib/anacondition3/user/File/队列.py“,第345行,在get中 返回_叉形酸洗器。装载(资源)
AttributeError:无法在上获取属性“processLine”
回溯(最近一次呼叫):
回溯(最近一次呼叫):
回溯(最近一次呼叫):
文件“/Users/user/anaconda/lib/python3.6/multiprocessing/进程.py“,第249行,in\u引导 自行运行() 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/进程.py", 第249行,in_引导
self.run()
文件“/Users/user/anaconda/lib/python3.6/multiprocessing/进程.py“,第93行,运行中
self._target(*self._args, **self._kwargs)
文件“/Users/user/anaconda/lib/python3.6/multiprocessing/进程.py“,第93行,运行中
self._target(*self._args, **self._kwargs)
文件“/Users/user/anaconda/lib/python3.6/multiprocessing/池.py“,第108行,在worker中
task = get()
文件“/Users/user/anaconda/lib/python3.6/multiprocessing/池.py“,第108行,在worker中 任务=获取() 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/队列.py“,第345行,在get中 返回_叉形酸洗器。装载(资源) 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/进程.py“,第249行,in\u引导 自行运行() 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/队列.py“,第345行,在get中 返回_叉形酸洗器。装载(资源) 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/进程.py“,第93行,运行中 自我目标(*self.\u args,**self.\u kwargs) AttributeError:无法在上获取属性“processLine” AttributeError:无法在上获取属性“processLine” 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/池.py“,第108行,在worker中 任务=获取()
文件“/Users/user/anaconda/lib/python3.6/multiprocessing/队列.py", 345号线,在get
return _ForkingPickler.loads(res)
AttributeError:无法在上获取属性“processLine”
multiprocessing
模块需要能够安全地导入模块。任何不在函数或类内的代码都应受到标准Python导入保护:但是你的代码还有其他问题。例如,你有:
^{pr2}$…但是
append
不返回值,因此它总是将None
分配给word
。在与其使用
for
循环反复调用pool.apply_async
,不如考虑使用pool.map_async
,或者如果实际上不需要异步行为,则只使用pool.map
。在相关问题 更多 >
编程相关推荐