【问题标题】:Can't get Python 2 program to print right [duplicate]无法正确打印 Python 2 程序 [重复]
【发布时间】:2013-11-05 22:53:13
【问题描述】:
while True:
    volts = adc.readADCDifferential01(4096, 8)
    print volts

这很好用,只是它会打印出一列电压,很快就会填满终端屏幕。我宁愿它并排打印电压并从左到右填充行。

我尝试在打印电压后加一个逗号,但屏幕上什么也没有显示,直到我按 control-C 停止程序。逗号确实会导致电压按行打印,但我需要实时观察读数,而不是盲目地等待,直到我怀疑测试完成。

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

【问题讨论】:

    标签: python printing


    【解决方案1】:

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

    手动刷新缓冲区:

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

    【讨论】:

      猜你喜欢
      • 2015-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多