2010-09-10 36 views
2

我无法找到针对Python的解决方案。执行外部应用程序并向其发送一些关键事件

我abeltØ启动应用程序(使用subprocess.Popen或subprocess.call),但我不能找到一种方法,做其他部分:

我想送钥匙的系列(一种的宏)到我刚刚打开的应用程序。像:

标签 标签 输入 标签 标签 删除 ...

有没有办法做到这一点,是Mac和PC兼容吗?或者,如果不是,只有PC?

感谢您的帮助, 罗勒

PS。我知道有一些应用程序可以自动执行一些按键事件,但我想自己做。

回答

0

使用参数stdin=subprocess.PIPE运行subprocess.Popen()命令,然后使用Popen对象的stdin文件将数据写入进程的标准输入流。对于你提到的一些命令,标准字符串转义是可用的(比如'T'用于TAB)。但是,如果您需要更全面的键集,则需要拆分旧的ASCII表并通过chr()函数将字符串拼接起来。

p = subprocess.Popen(['bash',], stdin=subprocess.PIPE) 
p.stdin.write('echo "Hello\t\t\tWorld"\n') 
0

感谢您的回答。我试过使用subprocess.Popen(),但它似乎不起作用。发送'\ t'字符串不起作用......它根本没有任何作用......请注意,该应用程序不是基于python的(它是一个安装应用程序 - 基本上它们是自动解压zip文件(.exe),而且我有他们数百...)

我会尝试一些Windows模块的其他想法...但我真的更喜欢使用Mac和PC兼容的东西...

相关问题