当IDLE运行python脚本并通过双击运行时的不同行为

时间:2013-10-26 12:42:25

标签: python multiprocessing

我发现当我通过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 a.m. UTC + 8:00

Image1: Start by python IDLE (GUI)< -Pop out所有窗口并行运行。

Image2: Start by double clicking (command line)< -Queue并逐个运行。

0 个答案:

没有答案