相关疑难解决方法(0)

如何避免这种酸洗错误,以及在Python中并行化此代码的最佳方法是什么?

我有以下代码.

def main():
  (minI, maxI, iStep, minJ, maxJ, jStep, a, b, numProcessors) = sys.argv
  for i in range(minI, maxI, iStep):
    for j in range(minJ, maxJ, jStep): 
      p = multiprocessing.Process(target=functionA, args=(minI, minJ))
      p.start()
      def functionB((a, b)):
        subprocess.call('program1 %s %s %s %s %s %s' %(c, a, b, 'file1', 
          'file2', 'file3'), shell=True)
        for d in ['a', 'b', 'c']:
          subprocess.call('program2 %s %s %s %s %s' %(d, 'file4', 'file5', 
            'file6', 'file7'), shell=True)
      abProduct = list(itertools.product(range(0, 10), range(0, 10)))
      pool = multiprocessing.Pool(processes=numProcessors)
      pool.map(functionB, abProduct) 
Run Code Online (Sandbox Code Playgroud)

它会产生以下错误.

Exception …
Run Code Online (Sandbox Code Playgroud)

python pickle multiprocessing

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

multiprocessing ×1

pickle ×1

python ×1