我无法找到Python的解决方案。
我很擅长启动应用程序(使用subprocess.Popen或subprocess.call),但我找不到另一种方法:
我想向刚刚打开的应用程序发送一系列密钥(一种宏)。像:
标签 标签 输入 标签 标签 删除 ...
有没有办法解决Mac和PC兼容的问题?或者,如果没有,只有PC?
感谢您的帮助, 罗勒
PS。我知道有一些应用程序可以自动执行某些键事件,但我想自己创建。
答案 0 :(得分:2)
在Windows下,您可以使用古老的SendKeys来执行此操作。有一些实现浮动。一,使用win32 extentions或者两个,甚至还有一对即用modules available
答案 1 :(得分:0)
使用参数subprocess.Popen()
运行stdin=subprocess.PIPE
命令,然后使用Popen对象的stdin
文件将数据写入进程的标准输入流。对于您提到的一些命令,可以使用标准字符串转义(例如TAB的'\ t')。但是,如果您需要更全面的键集,则需要打破旧的ASCII表并通过chr()
函数将字符串拼凑在一起。
p = subprocess.Popen(['bash',], stdin=subprocess.PIPE)
p.stdin.write('echo "Hello\t\t\tWorld"\n')
答案 2 :(得分:0)
感谢您的回答。我尝试使用subprocess.Popen(),但似乎它不起作用。发送'\ t'字符串不起作用......它什么都不做......注意应用程序不是基于python的(它是一个安装应用程序 - 基本上,它们是自动解压缩zip文件(.exe)而且我有数以百计......)
我会用一些Windows模块尝试另一个想法...但我真的更喜欢使用Mac和PC兼容的东西......