web-dev-qa-db-ja.com

Pythonで変数を名前でスレッドに渡す方法は?

次のような関数があるとします。

def _thread_function(arg1, arg2=None, arg3=None):
    #Random code

次に、その関数を使用してスレッドを作成し、それにarg2ではなくarg3を指定します。私はこれを以下のように試みています:

#Note: in this code block I have already set a variable called arg1 and a variable called arg2
threading.Thread(target=self._thread_function, args=(arg1, arg2=arg2), name="thread_function").start()

上記のコードは私に構文エラーを与えます。引数をarg2としてスレッドに渡すことができるようにするにはどうすればよいですか?

29
Dylan

kwargsパラメータ を使用します。

threading.Thread(target=self._thread_function, args=(arg1,),
                 kwargs={'arg2':arg2}, name='thread_function').start()
50
unutbu