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行打印的内容.
您试图将呼叫结果附加到呼叫本身.您必须在没有+ str(Output)部件的情况下运行命令一次以获得输出.
这样想吧.假设我在一起添加一些数字.
z = 5 + b
b = z + 2
Run Code Online (Sandbox Code Playgroud)
我必须在语句之前z或b之前定义,具体取决于两个语句的顺序.在我知道它是什么之前我不能使用变量.你在做同样的事情,Output在定义之前使用变量.
| 归档时间: |
|
| 查看次数: |
466 次 |
| 最近记录: |