Python スクリプトに渡された引数に基づいて、インポートするモジュールをメイン関数で選択したいと思います。だから、私はのいずれかを使用しています
blah = importlib.import_module("blah1")
blah = importlib.import_module("blah2")
ここで、「blahX」は同じインターフェイスの異なる実装です。
multiprocessing
また、モジュールを使用して別のプロセスに作業を渡したいと考えています。
blah = None
def f(a, b):
print blah.f(a,b)
if __name__ == '__main__':
# call importlib.import_module here...
a = 1
b = 2
p = multiprocessing.Process(target=f, args=(a, b))
p.start()
p.join()
問題は、渡された関数がmultiprocessing.Process
、メインにインポートしたモジュールを認識していないことです。これは、私が使用する場合とは異なりますimport
import blah1 as blah
#import blah2 as blah
しかし、実行時にモジュールを選択できなくなります。
このデザインを修正するにはどうすればよいですか?