快速摘要:我想调用Windows 7中的Python(3.6)外部程序,然后与之交互。我不知道执行此操作的最佳方法,因此现阶段我只是在寻找从哪里开始的建议。
我不能使用常规的输入/输出,所以我认为我需要模拟用户交互,也许需要通过按键模拟。
详细信息:
这是一个很瘦的问题:我有一个小的可执行文件,可用于将专有图像格式转换为我可以使用的更通用的格式。我想将其合并到我的项目中,因此解决方案的用户不必自己运行该其他程序。
据我所知,有问题的.exe文件没有命令行功能(我没有文档)。它被设置为允许在“文件”菜单上使用Windows Alt键快捷方式功能,因此我希望我能够以一种(有点棘手且肯定不可靠的)解决方案使该交互自动化。
一旦调用了外部程序,我所能输入的就是:
除了在磁盘上创建输出文件外,外部程序不会产生任何输出。
我可以使用(例如)运行程序
import subprocess
subprocess.run ("C:\\blah\\program.exe")
但是我注意到,直到我将其关闭为止,这似乎不允许与我的Python代码的下一步进行进一步的交互。
我分别找到了这样的解决方案... https://stackoverflow.com/a/13615802/10039438
...用于模拟孤立地工作的按键(和组合),但是在program.exe仍然是最主要的程序的情况下,我看不到让它们执行的简单方法。
我是否应该考虑替代策略?
注意:当前在Windows 7上使用Python 3.6。