如何使用python打印输出?

3 python

当这个.exe文件运行时,它会打印一个充满信息的屏幕,我想在屏幕上打印一条特定的行,这里是"6"行:

    cmd =  ' -a ' + str(a) + ' -b ' + str(b) + str(Output)
    process = Popen(cmd, shell=True, stderr=STDOUT, stdout=PIPE)
    outputstring = process.communicate()[0]
    outputlist = outputstring.splitlines()
    Output = outputlist[5]
    print cmd
Run Code Online (Sandbox Code Playgroud)

这很好用: cmd = ' -a ' + str(a) + ' -b ' + str(b)

这不起作用: cmd = ' -a ' + str(a) + ' -b ' + str(b) + str(Output)

我得到一个错误,说Output没有定义.但是当我剪切和粘贴时:

    outputstring = process.communicate()[0]
    outputlist = outputstring.splitlines()
    Output = outputlist[5]
Run Code Online (Sandbox Code Playgroud)

在cmd语句之前它告诉我进程没有定义. str(Output)应该是运行.exe时在第6行打印的内容.

Wel*_*bog 5

您试图将呼叫结果附加到呼叫本身.您必须在没有+ str(Output)部件的情况下运行命令一次以获得输出.

这样想吧.假设我在一起添加一些数字.

 z = 5 + b
 b = z + 2
Run Code Online (Sandbox Code Playgroud)

我必须在语句之前zb之前定义,具体取决于两个语句的顺序.在我知道它是什么之前我不能使用变量.你在做同样的事情,Output在定义之前使用变量.