22

說,我看起來像一個功能:如何通過名稱將變量傳遞給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?

回答

37

使用kwargs parameter

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

哦,謝謝,似乎這樣做。 – Dylan

相關問題