Python 无GUI的事件侦听器

Python 无GUI的事件侦听器,python,event-handling,Python,Event Handling,我需要一个事件监听器,它可以在我按下某个键时启动和退出我的脚本。这是一个脚本,让我知道是否按下了一个键: import Tkinter as tk def onKeyPress(event): text.insert('end', 'You pressed %s\n' % (event.char, )) root = tk.Tk() root.geometry('300x200') text = tk.Text(root, background='black', foreground

我需要一个事件监听器,它可以在我按下某个键时启动和退出我的脚本。这是一个脚本,让我知道是否按下了一个键:

import Tkinter as tk

def onKeyPress(event):
    text.insert('end', 'You pressed %s\n' % (event.char, ))

root = tk.Tk()
root.geometry('300x200')
text = tk.Text(root, background='black', foreground='white', font=('Comic Sans MS', 12))
text.pack()
root.bind('<KeyPress>', onKeyPress)
root.mainloop()
将Tkinter作为tk导入
def onKeyPress(事件):
text.insert('end',您按了%s\n'(event.char,))
root=tk.tk()
根几何体('300x200')
text=tk.text(根,背景为黑色,前景为白色,字体为('Comic Sans MS',12))
text.pack()
root.bind(“”,onKeyPress)
root.mainloop()

这很好,但问题是我不需要GUI。我应该可以在任何我想要的地方按一个键。这怎么可能呢?

正如拉温所说,您可以使用键盘库,例如:

import keyboard
keyboard.add_hotkey('a', lambda: print "a was pressed")
请注意,要使其正常工作,必须安装键盘库,您可以使用
$sudo pip install keyboard

编辑:您可能必须使用
$sudo python-m pip安装键盘

编辑:或者您可能必须使用
$sudo py-m pip安装键盘

编辑:甚至
$sudo-H pip安装键盘

另外,请注意,我假设您使用的是python 2.7。
编辑:如果您想知道为什么我假设您使用的是Python2.7,那是因为您在GUI示例中使用了Tkinter import*中的
,而在Python2.7中,Tkinter模块称为“Tkinter”,而在Python3.6中,Tkinter称为“Tkinter”,因此在Python3中您应该使用Tkinter import*
(注意tkinter/tkinter中小写的“t”与大写的“t”)

另外,请注意,键盘模块在Mac上不起作用(至少他们的pip页面上只说他们支持Windows和Linux,但如果你运气好的话,它可能会起作用)

最后,请注意,由于我目前无法访问安装了python的计算机,因此我本人没有尝试过此方法。如果它不起作用,请给我留言,我将尝试找到另一种解决方案:)

编辑:@RezaSaadati批准了它的有效性

例如,有一些库可以做到这一点。非常感谢您的回答。不幸的是,这对我不起作用,因为我得到了错误
AttributeError:模块“键盘”没有属性“添加热键”
。我正在使用Python 3.6.1,也许这就是原因?!有没有可能在当前版本上使用它?问题是我使用git安装了键盘,但现在我使用了
py-m pip安装键盘
,它工作得非常好。非常感谢您的伟大解决方案@RezaSaadati我很高兴它成功了!很抱歉回复太晚,正如您可能已经注意到的,我对答案添加了一些额外的编辑,我建议您阅读:)