Python, 如何捕捉键盘输入

Keyser 2008-11-15 12:56:16
raw_input 是必须按"Enter"才结束的,我希望有一个即时捕捉的功能,比如在控制台下,用户随便按个什么我都能立刻捕捉到,比如用户按了下 Tab。
...全文
913 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lokienigma 2008-11-15
  • 打赏
  • 举报
回复
用ctypes调用windows api(我想通用的console api里不可能有这样的函数。
def playmp3(name):
print name
if name.endswith("mp3"):
indll = 'in_mp3.dll'
else:
indll = 'in_wm.dll'
outdll = 'out_wave.dll'
if init(indll, outdll):
print 'cannot load plugins'
sys.exit(0)
info = fileinfo(name)
#print 'Playing "%s" (%s), press \'q\' to exit ....'%(info[0], name)
play(name)
user32 = ctypes.windll.user32
keystate= None
while 1:
user32.GetAsyncKeyState.restype = WORD
user32.GetAsyncKeyState.argtypes = [ ctypes.c_char ]


if user32.GetAsyncKeyState('Q'):


#
os.system("exit")
break
if user32.GetAsyncKeyState('9') :
quit()
import deltorecyclebin
deltorecyclebin.deltorecyclebinOrig(name)
print "delete" + name
break

if user32.GetAsyncKeyState('P'):
print ((not ispaused()) and "paused" ) or "resumed"
pause(not ispaused())

time.sleep(0.1)
if (gettime() > 0) and (gettime() > getlength() - 3000):
print 'stopped'
break
shazhixiaojie 2008-11-15
  • 打赏
  • 举报
回复
ddddddddddd

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧