背景說明
今天在做python子線程調用時發現如下異常:
image.png
源代碼書寫如下:
t1 = threading.Thread(target=start, args=devId)
t1.setDaemon(True)
t1.start()
devId就是傳入的參數,值為:06c6a7fa00744ce2
解決思路
提示錯誤信息為:目標函數需要一個參數,實際傳遞了16個,不應該啊。
為了避免字符串影響,修改代碼如下:
t1 = threading.Thread(target=start, args=str(devId))
t1.setDaemon(True)
t1.start()
結果錯誤依然,求助官方文檔。。。
解決方式
經過查詢官方文檔,解釋如下:
image.png
參數args默認為元組類型。
所以,修改源碼:
t1 = threading.Thread(target=start, args=(str(devId),))
t1.setDaemon(True)
t1.start()
以上。