当这个.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
这很好用:
cmd =’ – a’str(a)’ – b’str(b)
这不起作用:
cmd =’ – a’str(a)’ – b’str(b)str(输出)
我收到一个错误,说输出没有定义.但是当我剪切和粘贴时:
outputstring = process.communicate()[0]
outputlist = outputstring.splitlines()
Output = outputlist[5]
在cmd语句之前它告诉我进程没有定义. str(输出)应该是.exe运行时在第6行打印的内容.
最佳答案 您试图将呼叫结果附加到呼叫本身.您必须在没有str(输出)部分的情况下运行命令一次以获得输出.
这样想吧.假设我在一起添加一些数字.
z = 5 + b
b = z + 2
我必须在语句之前定义z或b,具体取决于两个语句的顺序.在我知道它是什么之前我不能使用变量.在定义它之前,使用Output变量执行相同的操作.