我正在写一个脚本来自动运行一个特定的模型。 当模型失败时,它等待用户input(回车键)。 我可以检测模型何时失败,但是我无法使用python(在Linux上)来模拟按键事件。 Windows有SendKeys库来做到这一点,但我想知道是否有一个类似的库在Linux上的Python。
谢谢!
如果“模型”以图形方式运行(使用X窗口系统),则已经建议的xsendkey是可能性或xsendkeycode 。 如果它正在运行(在终端窗口),然后pexpect 。
看看这个https://github.com/SavinaRoja/PyUserInput它的跨平台控制鼠标和键盘在Python
键盘控制在X11(linux)和Windows系统上工作。 但没有mac支持(当我写这个答案)。
from pykeyboard import PyKeyboard k = PyKeyboard() # To Create an Alt+Tab combo k.press_key(k.alt_key) k.tap_key(k.tab_key) k.release_key(k.alt_key)
更低级别的方法是创建一个uinput
设备,然后将输入事件注入到linux输入子系统中。 考虑以下库:
用后者发送<enter>
示例:
from evdev import uinput, ecodes as e with uinput.UInput() as ui: ui.write(e.EV_KEY, e.KEY_ENTER, 1) ui.write(e.EV_KEY, e.KEY_ENTER, 0) ui.syn()
我推荐PyAutoGui 。 它使用简单,它是跨平台的,适用于Python 3和Python 2。
在链接页面中列出了依赖和一些代码示例。