对话框 - 立即显示管道输出

时间:2017-06-28 16:32:06

标签: python dialog

(这是关于基于ncurses的Linux工具'对话')

我希望运行一个程序,并在此输出可用时立即在“dialog --programbox”中打印输出。我用这个例子进行测试:

dummyoutput | dialog --programbox "output" 20 70

其中'dummyoutput'是一个小的Python脚本,慢慢打印0到4:

#!/usr/bin/env python
import time
for i in range(5):
    time.sleep(0.5)
    print i

目前,显示了programbox,但所有输出仅在'dummyoutput'结束后显示。

是否可以实现每一行在programbox可用后立即显示(每半秒后一个数字)?

1 个答案:

答案 0 :(得分:0)

@jordanm的评论很棒,而且很有效。然后我们可以在实际项目中轻松应用相同的原理。

它是一个使用log4j日志框架的Java应用程序。除了FileAppender,我还使用ConsoleAppender直接在控制台上显示特定的消息。 appender具有ImmediateFlush属性。如果设置为true,则输出显示在控制台上 - 并在对话框programbox中 - 一旦可用。