关于打印:无法让python 2程序正确print

Can't get Python 2 program to print right

本问题已经有最佳答案,请猛点这里访问。
1
2
3
while True:
    volts = adc.readADCDifferential01(4096, 8)
    print volts

这项工作很好,只是它打印出一列电压,迅速填补了终端屏幕。我宁愿把电压并排打印出来,然后从左到右填充一行。

我试着在打印电压后加一个逗号,但直到按control-c停止程序,屏幕上才显示任何内容。逗号确实会导致电压成排打印,但我需要实时观察读数,而不是盲目等待,直到我怀疑测试结束。

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


stdout内嵌Python打开缓冲模式,所以你不会看到,直到冲洗印刷列中的电压,当没有印刷的新行。

与手动清空缓冲区。

1
2
3
4
5
6
import sys

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