0

sub_script を並行して実行することを目的とした単純な python スクリプトを、python IDLE (GUI) で実行したところ、正しく動作することがわかりました。しかし、ウィンドウでダブルクリックして、サブスクリプトを一度に実行するのではなく、1つずつ実行するとうまくいきませんでした。以下にコードを投稿します。誰かアドバイスをくれませんか?

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))

EDIT 1 : 2 つの画像が追加されました。2013/10/27 11:33a.m. UTC+8:00

画像 1: python IDLE (GUI) で開始 <-すべてのウィンドウをポップアウトして並列実行します。

Image2: ダブルクリックで開始 (コマンド ライン) <-キューに入れ、1 つずつ実行します。

4

0 に答える 0