題:
ImportError沒有名為線程的模塊
Coderboy
2014-07-30 01:08:35 UTC
view on stackexchange narkive permalink

我想創建一個簡單的線程來偵聽是否按下按鈕。

我收到錯誤消息 ImportError沒有名為線程的模塊

 將RPi.GPIO導入為GPIO導入時間導入線程GPIO.setmode(GPIO.BCM)GPIO.setup(2,GPIO.OUT)GPIO.setup(3,GPIO.OUT)GPIO.setup(17,GPIO.IN) def pushButton():為True時:如果GPIO.input(17)== 1:print(“ on”)否則:print(“ of”)while為True:GPIO.output(2,1)GPIO.output(3, 1)time.sleep(1); GPIO.output(2,0)GPIO.output(3,0)time.sleep(1)thread.start(pushButton,())GPIO.cleanup() 
您正在使用哪個版本的python?輸入`python --version`來查看。僅供參考,`thread`模塊在python版本3中更名為`_thread`。
謝謝
當我將其更改為導入_thread時,我也無法正常工作
您是否收到相同的錯誤消息?您是否正在使用python版本3?
是的,我使用的是第三版,但沒有,它什麼也做不了
您收到什麼錯誤消息?
您可以從“ Traceback”行開始發布完整的錯誤消息嗎?
二 答案:
HeatfanJohn
2014-07-30 20:51:57 UTC
view on stackexchange narkive permalink

您最初的問題是您正在使用Python版本3,並且根據此帖子 thread 模塊已在Python 3中重命名為 _thread

更正了該問題之後,您在註釋中指出該程序仍然無法運行。

我懷疑這是因為您從未執行過 thread.start(pushButton ,())這行代碼,因為前一個代碼塊是一個無限循環,而True:將永遠運行下一個代碼塊,並且thread.start將永遠不會執行。

我建議您將 tread.start 代碼行移至 while True 塊之前。我還建議您將某種 time.sleep 放入您的 pushButton 例程中,否則您將非常快速地連續輸出“ on”或“ off”。

我會嘗試:

 將RPi.GPIO導入為GPIO導入時間import _thread GPIO.setmode(GPIO.BCM)GPIO.setup(2,GPIO.OUT)GPIO.setup (3,GPIO.OUT)GPIO.setup(17,GPIO.IN)def pushButton():而True:如果GPIO.input(17)== 1,則為time.sleep(1):print(“ on”)否則:真時:print(“ of”)_ thread.start(pushButton,()):GPIO.output(2,1)GPIO.output(3,1)time.sleep(1); GPIO.output(2,0)GPIO.output(3,0)time.sleep(1)GPIO.cleanup() 
Ashbay
2014-07-30 20:19:34 UTC
view on stackexchange narkive permalink

我目前正在學習Python並設置服務器。在本教程中,我正在閱讀以這種方式導入線程模塊的傢伙:

 從線程導入*  

我不是在告訴這是解決方案為您的問題,但我們永遠不會知道。希望對您有所幫助。

資料來源: http://www.binarytides.com/python-socket-server-code-example/



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...