- 论坛徽章:
- 1
|
本帖最后由 jeppeter 于 2013-04-11 09:52 编辑
回复 1# xu_liuzhen
这个是在linux下测试通过的。- import select
- import sys
- import time
- import os
- import termios
- def kbhit():
- fd = sys.stdin.fileno()
- r = select.select([sys.stdin],[],[],0.01)
- rcode = ''
- if len(r[0]) >0:
- rcode = sys.stdin.read(1)
- return rcode
- fd = sys.stdin.fileno()
- old_settings = termios.tcgetattr(fd)
- new_settings = old_settings
- #new_settings[3] = new_settings[3] & ~termios.ISIG
- new_settings[3] = new_settings[3] & ~termios.ICANON
- new_settings[3] = new_settings[3] & ~termios.ECHONL
- print 'old setting %s'%(repr(old_settings))
- termios.tcsetattr(fd,termios.TCSAFLUSH,new_settings)
- while True:
- c = kbhit()
- if len(c) !=0 :
- print 'K %s'%(c)
- else:
- print 'Sleep 1'
- time.sleep(1)
复制代码 这个是在windows下测试通过的。
- import msvcrt
- import time
- def kbfunc():
- x = msvcrt.kbhit()
- if x:
- ret = ord(msvcrt.getch())
- else:
- ret = 0
- return ret
- while True:
- r = kbfunc()
- if r != 0:
- print 'K %d'%(r)
- else:
- time.sleep(1)
- print 'Sleep 1'
复制代码 希望对你有帮助。 |
|