while True:
volts = adc.readADCDifferential01(4096, 8)
print volts
这样可以正常工作,除了它打印出一列快速填满终端屏幕的电压。我宁愿它并排打印电压并从左到右填充行。
我尝试在打印电压后放一个逗号,但屏幕上没有任何内容显示,直到我按下control-C停止程序。逗号确实会导致电压按行打印,但我需要观察读数而不是盲目地等待,直到我怀疑测试结束。
为什么添加逗号导致程序停止显示正在发生的电压?
答案 0 :(得分:4)
Python在行缓冲模式下打开stdout
,因此在不打印换行符时,您不会看到列中打印的电压,直到刷新。
使用以下命令手动清除缓冲区:
import sys
while True:
volts = adc.readADCDifferential01(4096, 8)
print volts,
sys.stdout.flush()