Advertisement

TypeError in Threading function expects fewer arguments than provided

阅读量:

Threading函数参数错误分析

在运用Python多线程模块Threading进行编程的过程中

复制代码
    import threading
    t = threading.Thread(target=getTemperature, args = (id1))
    t.start()
    
      
      
      
    

【在程序运行过程中出现上述错误提示,查阅stackoverflow相关资料后得到如下说明:

threading.Thread的args参数应当是一个可迭代对象,该对象中的每个元素都会被依次传递给目标函数。

由于您传递的是一个字符串作为args参数:
t = threading.Thread(target=startSuggestworker, args = (start_keyword))
系统会将字符串中的每个字符单独作为参数传递给startSuggestworker函数。
正确的做法是将args参数设置为一个元组形式:
t = threading.Thread(target=startSuggestworker, args = (start_keyword,))
换句话说,args参数的类型不符合要求,即使只

全部评论 (0)

还没有任何评论哟~