使用Python

时间:2016-06-16 14:43:43

标签: python shell powershell command-line automation

我使用的是Python 3.5,我希望运行一个通常在cmd.exe或powershell中运行的程序。该程序不在环境PATH中,我想避免添加它。

我需要启动程序,然后在程序中传递两个或三个单词命令。

我已经查看了Stack Exchange和Google,但很多内容都是关于如何使用Powershell启动脚本的参考资料。我需要逐个发出命令,因为命令时序与应用程序的其他部分相关(程序中的其他内容需要以串行方式发生)。

我已尝试让subprocess.call工作,但我无法启动该程序......与os.system相同。

PyWinAuto不会在它自己的窗口中启动程序,而只是在控制台上启动程序,这样就可以了......而且,我无法让PyWinAuto识别出来无论如何它应该在所述控制台上使用SendKeys()方法。

我想发布:

C:\Program Files (x86)\whatever.exe

然后,当它启动时,开始发送诸如

之类的内容
command 1 argument 1 argument 2 <enter>
command 2 argument 1 argument 2 <enter>
command 3 argument 1 argument 2 <enter>

1 个答案:

答案 0 :(得分:0)

您可以查看最近添加到pexpect包中的Windows实验支持:

http://pexpect.readthedocs.io/en/stable/overview.html#windows

如果没有满足您的需求,那么winpexpect包看起来很有趣,虽然我自己还没有使用它:

https://pypi.python.org/pypi/winpexpect

https://bitbucket.org/geertj/winpexpect/wiki/Home