假设我有一个看起来像这样的函数:

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传递给线程?

最佳答案

使用kwargs parameter:

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

关于python - 如何通过名称将变量传递给Python中的线程?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6904487/

10-12 04:58