在stdout中从底部打印第3行

时间:2016-03-08 17:44:51

标签: linux python-2.7 tkinter stdout readline

目前我正在运行此

while p.poll() is None:
    output = p.stdout.readline()
    print output,

正在发生的是所有线条都在打印。我想要的是从底部打印,通常是 第3行 ,其中包含有关命令是否正确执行的数据。

此外还有一种方法可以让底部的状态栏使用 Tkinter标签

更新实时

1 个答案:

答案 0 :(得分:1)

解决方案,感谢@ TadhgMcDonald-Jensen提示

仅打印终端shell窗口中的第三行(indice -3)

import Tkinter as *
import subprocess

out = []  # Create empty list
for line in iter(p.stdout.readline, ''):
    out.append(line.rstrip('\n')) # append list
print out[-3] # print item in the list, in this case -3

或在tkinter标签中显示

import Tkinter as *
import subprocess

out = []  # Create empty list
for line in iter(p.stdout.readline, ''):
    out.append(line.rstrip('\n')) # append list
window = Tk()
Label(window, text=out[-3]).grid(sticky=W)