如何在python中一一运行外部.exe文件及其命令

时间:2019-02-17 20:44:58

标签: python subprocess exe

我是子流程模块的新手。谁能建议如何运行一个外部.exe文件,并对该命令进行一一控制(命令)并在python中打印输出?

我正在尝试制作一个python代码来运行xfoil.exe,并对该.exe文件逐个给出命令。

我需要根据先前给定的命令来控制要输入到该.exe的命令,即,如果我在特定语句的最后一行得到了stdout,则需要相应地更改下一个命令。

现在,我有这段代码。但是我想向xfoil.exe文件输入命令并查看输出,因此我想给出下一个命令。我也想给每个命令计时

from subprocess import Popen, PIPE, STDOUT
import os

xf = Popen("xfoil.exe",
              stdin=PIPE,
              stdout=PIPE,
              stderr=PIPE,
              encoding='utf8')

def issueCmd(xf, cmd):
    xf.stdin.write(cmd+'\n')

def closeCmd(xf):
    xf.stdin.close()
    xf.wait()
    for line in xf.stdout:  
        line = line.rstrip()  
        print(line)


issueCmd(xf, 'load 2032c.dat')
issueCmd(xf, 'pane')
issueCmd(xf, 'save 2032c_mod.dat')
closeCmd(xf)

但是我想要一些

def issueCmd(xf, cmd, cmd2, cmd3):
    xf.stdin.write(cmd+'\n')
    timelimit(40 sec)
    print("print the output of this command")
    if (output == "THIS"):
        xf.stdin.write(cmd2+'\n')
        timelimit(40 sec)
    else:
        xf.stdin.write(cmd3+'\n')
        timelimit(40 sec)

0 个答案:

没有答案