我发现当我通过 python IDLE (GUI) 执行它时,我的目标是并行运行 sub_script 的简单 python 脚本可以正常工作。但是当我在窗口中双击它并一个一个地执行 sub_script 而不是一次运行它们时,它就出错了。我在下面发布我的代码。有人可以给我一些建议吗?
import time, multiprocessing, os, abc
rootdir=os.getcwd()
NProc = 6
def wrapfunc(args)
return args[0](*args[1:])
if __name__== '__main__':
print('abc Starts.')
ti=time.time()
pool1=multiprocessing.Pool(processes=NProc)
Childs1 = [[abc.abc, dirpath, filename]
for dirpath, dirname, filenames in os.walk(rootdir)
for filename in filenames
if filename.endswith('.inp')]
pool_map1 = pool1.map_async( wrapfunc, Childs1 )
pool1.close()
pool_map1.wait()
print('The abc takes {0} to finish.'.format(time.time()-ti))
编辑 1:添加了两个图像。2013/10/27 上午 11:33 UTC+8:00
图 1:从 python IDLE (GUI) <-弹出所有窗口以并行运行。
Image2:通过双击(命令行)开始<-排队并一一运行。