実行中のプログラムの上部にタイトルを印刷して、無限の量のデータを印刷および実行するコードで継続的に表示するにはどうすればよいですか?

ジャスティン・デローズ

例:(実行中のプログラムに表示されたままにするために、必要に応じていつでも上にスクロールして表示できます)

print("this is my title")

print("here is my sub title")

count = 0
while count < 5000:
    print("hello")
    count = count + 1  # or count += 1

私のコードも設定している限り実行されますが、それは問題ではありません。ただし、プログラムを実行すると、一番上に印刷されたタイトルが表示されないか、プログラムを一時停止して物理的に一番上までスクロールすると、その印刷されたタイトルやその他のさまざまなテキストが表示されません。

100万個のアイテムを印刷したい場合でも、印刷されたタイトルと印刷された情報が上部に表示される場所にこれを修正するにはどうすればよいですか?

ジョジョ

まず、Python以外の便利な方法:

ターミナルからスクリプト(my_long_print_script.pyなど)を実行する場合は、次のように使用できますless(LinuxおよびOSXでは確実に)。

python my_long_print_script.py | less

次に、を使用enterして下にスクロールし、q終了します。

Pythonでstdoutに書き込む

Pythonでは、stdoutに直接書き込み、以前の出力を「上書き」することができます。これは、ある種のプログレスバーの動作につながる可能性があります。これが目的であるかどうかはわかりません。例を次に示します。

# content of my_long_print_script.py:
import sys
from time import sleep
sys.stdout.write('This title should stay\n')
sys.stdout.write('this subtitle too\n')
for count in xrange(100):
    sleep(0.1)
    sys.stdout.write('{0}\r'.format(count))
    sys.stdout.flush()

これをスクリプトとして実行すると(python my_very_long_print_script.pyターミナルに入力すると)、2つのタイトル行が保持され、1行より下が継続的に更新されます。

参考:sleepカウントの変化が速すぎるため、追加しました

これがどういうわけか役に立ったことを願っています。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ