猿问

在Python中将参数传递给线程

我不断收到错误消息


Traceback (most recent call last):

File "main.py", line 37, in <module>

controller = threading.Thread(target=get_controller(), args=(q,))

TypeError: get_controller() missing 1 required positional argument: 'q'

每当我尝试在 python 中创建线程时。这是我正在使用的代码


def get_controller(q):

    q.put(get_gamepad())

return


q = queue.Queue()

events = []

controller = threading.Thread(target=get_controller(), args=(q,))

我知道这不是忘记在“args”中的第一个参数后添加“,”的常见错误,但我不确定它还可能是什么。


红糖糍粑
浏览 105回答 2
2回答

倚天杖

当你传递目标时,你应该将指针传递给你想要的函数。相反,您所做的是调用该函数,这不是您想要的效果。试试这个:controller&nbsp;=&nbsp;threading.Thread(target=get_controller,&nbsp;args=(q,))

茅侃侃

你不应该()使用target=threading.Thread(target=get_controller,&nbsp;args=(q,))
随时随地看视频慕课网APP

相关分类

Python
我要回答