例:(実行中のプログラムに表示されたままにするために、必要に応じていつでも上にスクロールして表示できます)
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万個のアイテムを印刷したい場合でも、印刷されたタイトルと印刷された情報が上部に表示される場所にこれを修正するにはどうすればよいですか?
ターミナルからスクリプト(my_long_print_script.pyなど)を実行する場合は、次のように使用できますless
(LinuxおよびOSXでは確実に)。
python my_long_print_script.py | less
次に、を使用enter
して下にスクロールし、q
終了します。
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]
コメントを追加