0
我想中斷一個循環,如果用戶按下特定的鍵,並在循環後繼續執行。當stdin可用時,下面的代碼應該工作。如何檢查用戶是否在不使用getch()的情況下在Python中按下了一個鍵?
While True:
# Do stuff here.
if msvcrt.kbhit():
key = msvcrt.getch()
if key == somekey:
break
我的問題是stdin在我用於開發的PyScripter IDE調試器中不可用。是否有另一種方法來繞過標準輸入呢?如果需要,該解決方案可以是Windows專用的。
P.S.我在Windows 7上使用Python 2.7,使用'Remote'Python引擎(無論這意味着什麼)使用PyScripter。
P.P.S.我根據下面的dbliss的反饋重寫了這個問題。
你是什麼「在Python調試器」是什麼意思?你在你的代碼中使用了'pdb'模塊嗎? – dbliss
@dbliss我正在使用PyScripter,它似乎沒有在引擎蓋下使用pdb模塊。問題似乎是PyScripter調試器正在攔截stdin。我重新寫了這個問題,使其更清晰。 – ChaimG