简短的摘要:
我正在尝试创建一个程序,将键盘事件发送到计算机,为了所有目的,模拟事件应被视为键盘上的实际击键.
原帖:
我正在寻找一种使用python生成键盘事件的方法.
假设函数接收到必须模拟按下的键,如下所示:
keyboardevent('a') #lower case 'a'
keyboardevent('B') #upper case 'B'
keyboardevent('->') # right arrow key
def keyboardevent(key):
#code that simulated 'key' being pressed on keyboard
Run Code Online (Sandbox Code Playgroud)
以上显然是示例,但我正在寻找的是库,模块或其他,我可以用它来模拟键盘事件.
注意:这与将字符发送到记事本,或将文本输入字段等不同.我希望python脚本模拟一个实际的键盘事件,计算机会认为确实存在键盘事件.
额外注意:
我不想将键击发送到活动窗口 - 我希望系统能够相信键盘的按键被按下,微妙的区别,因为一些活动窗口不接受某些键组合,或者我想使用键盘快捷键对于通过我的脚本的后台进程,他们不需要通过活动窗口
到目前为止,我已经看过这些事情:
这些都是关于苹果的,并没有任何帮助.
还有这个:
这似乎可能是我需要的,但我找不到它的库或任何文档.
我也搜索了更多的地方,但还没有找到解决方案.
我正在尝试编写一个启动子进程的Python脚本,并写入子进程stdin.我还希望能够确定子进程崩溃时要采取的操作.
我正在尝试启动的过程是一个程序nuke,它有自己的内置版本的Python,我希望能够提交命令,然后告诉它在执行命令后退出.到目前为止,我已经知道,如果我在命令提示符上启动Python,然后nuke作为子进程启动,那么我可以输入命令nuke,但我希望能够将所有这些都放在一个脚本中,以便主Python程序可以启动nuke然后写入其标准输入(因此也可以写入其内置版本的Python),并告诉它做一些时髦的东西,所以我编写了一个脚本,nuke如下所示:
subprocess.call(["C:/Program Files/Nuke6.3v5/Nuke6.3", "-t", "E:/NukeTest/test.nk"])
Run Code Online (Sandbox Code Playgroud)
然后没有任何事情发生,因为nuke等待用户输入.我现在如何写入标准输入?
我这样做是因为我正在运行一个插件nuke,导致它在渲染多个帧时间歇性地崩溃.所以我希望这个脚本能够启动nuke,告诉它做某事然后如果它崩溃了,再试一次.因此,如果有办法赶上崩溃并且仍然可以,那就太棒了.