无法让Python 2程序正确打印

时间:2013-10-27 00:01:41

标签: python printing

while True:
    volts = adc.readADCDifferential01(4096, 8)
    print volts

这样可以正常工作,除了它打印出一列快速填满终端屏幕的电压。我宁愿它并排打印电压并从左到右填充行。

我尝试在打印电压后放一个逗号,但屏幕上没有任何内容显示,直到我按下control-C停止程序。逗号确实会导致电压按行打印,但我需要观察读数而不是盲目地等待,直到我怀疑测试结束。

为什么添加逗号导致程序停止显示正在发生的电压?

1 个答案:

答案 0 :(得分:4)

Python在行缓冲模式下打开stdout,因此在不打印换行符时,您不会看到列中打印的电压,直到刷新。

使用以下命令手动清除缓冲区:

import sys

while True:
    volts = adc.readADCDifferential01(4096, 8)
    print volts,
    sys.stdout.flush()