text用法 - python pyplot name




如何製作一個不需要用戶按[Enter]進行選擇的菜單? (3)

我有一個Python的菜單。 那部分很簡單。 我正在使用raw_input()從用戶獲取選擇。

問題在於, raw_input (和input)需要用戶在做出選擇之後按Enter鍵 。 有什麼方法可以使程序在按鍵時立即行動? 這是迄今為止我所得到的:

import sys
print """Menu
1) Say Foo
2) Say Bar"""
answer = raw_input("Make a selection> ")

if "1" in answer: print "foo"
elif "2" in answer: print "bar"

有這樣的事情真是太好了

print menu
while lastKey = "":
    lastKey = check_for_recent_keystrokes()
if "1" in lastKey: #do stuff...

msvcrt在IDLE中失敗的原因是因為IDLE沒有訪問運行msvcrt的庫。 而當你在cmd.exe中本地運行程序時,它很好地工作。 出於同樣的原因,您的程序在Mac和Linux終端上爆炸。

但我想如果你打算使用這個專門為Windows,更多的權力雅。


哇,那永遠都是。 好的,這是我最後的結果

#!C:\python25\python.exe
import msvcrt
print """Menu
1) Say Foo 
2) Say Bar"""
while 1:
    char = msvcrt.getch()
    if char == chr(27): #escape
        break
    if char == "1":
        print "foo"
        break
    if char == "2":
        print "Bar"
        break

它使用IDLE,蟒蛇...的東西...與python自帶的努力失敗。 但是,一旦我在DOS(呃,CMD.exe)嘗試它,作為一個真正的程序,然後運行良好。

沒有人嘗試在空閒,除非你有方便的任務管理器。

我已經忘記了我是如何與超級即時響應的菜單生活在一起的。


在Windows上:

import msvcrt
answer=msvcrt.getch()




python