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

これは正常に動作しますが、端末画面をすぐに埋める電圧の列が出力されます。電圧を並べて印刷し、左から右に行を埋めたいと思います。

print volts の後にコンマを入れてみましたが、control-C を押してプログラムを停止するまで画面に何も表示されません。コンマによって電圧が行ごとに出力されますが、テストが終了したと思われるまでやみくもに待つのではなく、読み取り値をライブで見る必要があります。

カンマを追加すると、プログラムが発生中の電圧を表示しなくなるのはなぜですか?

4

1 に答える 1

4

Pythonstdoutは行バッファリング モードで開くため、改行を出力しない場合は、フラッシュするまで電圧が列に出力されません。

次のようにバッファーを手動でフラッシュします。

import sys

while True:
    volts = adc.readADCDifferential01(4096, 8)
    print volts,
    sys.stdout.flush()
于 2013-10-27T00:04:41.723 に答える