Từ python docs:
import termios, fcntl, sys, os
fd = sys.stdin.fileno()
oldterm = termios.tcgetattr(fd)
newattr = termios.tcgetattr(fd)
newattr[3] = newattr[3] & ~termios.ICANON & ~termios.ECHO
termios.tcsetattr(fd, termios.TCSANOW, newattr)
oldflags = fcntl.fcntl(fd, fcntl.F_GETFL)
fcntl.fcntl(fd, fcntl.F_SETFL, oldflags | os.O_NONBLOCK)
try:
while 1:
try:
c = sys.stdin.read(1)
print "Got character", `c`
except IOError: pass
finally:
termios.tcsetattr(fd, termios.TCSAFLUSH, oldterm)
fcntl.fcntl(fd, fcntl.F_SETFL, oldflags)
này chỉ làm việc cho Unix biến thể mặc dù. Tôi không nghĩ rằng có một cách đa nền tảng.
Nguồn
2009-09-08 16:37:11
Phím "bất kỳ" ở đâu? Tôi không có một trên bàn phím của tôi –
+1 cho sử dụng rõ ràng của một cliche. –
@Patrick Tại sao bạn không có phím "một" trên bàn phím? Phần còn lại của các con số là tốt? Bạn đã mất "1"? Hoặc bạn tìm thấy nhập "1" thông qua tổ hợp phím ASCII thú vị? – AneesAhmed777