用Python模拟Linux中的击键

我如何模拟python中的按键? 我也想同时按下多个键。

就像是:

keystroke('CTRL+F4') 

要么

 keystroke('Shift+A') 

Solutions Collecting From Web of "用Python模拟Linux中的击键"

尽管X特定于X,但可以安装xautomation软件包(基于Debian的系统上的apt-get install xautomation ),并使用xte模拟按键,例如:

 from subprocess import Popen, PIPE control_f4_sequence = '''keydown Control_L key F4 keyup Control_L ''' shift_a_sequence = '''keydown Shift_L key A keyup Shift_L ''' def keypress(sequence): p = Popen(['xte'], stdin=PIPE) p.communicate(input=sequence) keypress(shift_a_sequence) keypress(control_f4_sequence) 

python-uinput :

pythonic API到Linux输入内核模块…

Python-uinput是Linux uinput内核模块的Python接口,允许将用户空间设备驱动程序附加到内核中。 实际上,Python-uinput使得创建虚拟游戏杆,键盘和鼠标以编程方式生成任意输入事件变得非常简单。

考虑python-uinput和evdev 。 shift+a与后者的例子:

 from evdev import uinput, ecodes as e with uinput.UInput() as ui: ui.write(e.EV_KEY, e.KEY_LEFTSHIFT, 1) ui.write(e.EV_KEY, e.KEY_A, 1) ui.syn() 

如果你在Windows上,使用Sendkeys ,如果在Linux上,试试这里给出的关于xsendkeys或pexpect的建议。