我遇到一个遗漏的参数错误,我在这里关注答案。
Python: TypeError in Threading. function takes x positional argument but y were given
我想念什么?帮助新手。
从答案
“每个字符都作为单独的参数传递给startSuggestworker。
相反,您应该为args提供一个元组: t = threading.Thread(target = startSuggestworker,args =(start_keyword,)) “
self.thread = threading.Thread(target=self.threadManager(), args=(fl,))
TypeError: threadManager() missing 1 required positional argument: 'fl'
这是threadManager()的签名
def threadManager(self, fl):
#code
编辑 添加更多上下文: 这段代码对我有用的方式
self.thread2 = threading.Thread(target=self.startProcess2, args=(fl,myData))
以及startProcess2的定义
def startProcess2(self, fnfull, myData):
#code
但这对我来说失败
if fl != '':
self.threadx = threading.Thread(target=self.threadManager(), args=(self,fl,))
self.threadx.start()