ホームページ >バックエンド開発 >Python チュートリアル >Python で以前の出力を標準出力 (Stdout) に上書きするにはどうすればよいですか?
多くのプログラミング シナリオでは、端末に表示される出力を変更または更新する必要があります。この記事では、以前の出力を stdout に上書きし、同じ行の更新された値に置き換える方法について説明します。
Python は、 r (キャリッジ リターン) 文字を使用すると、次の行に進まずにカーソルを現在の行の先頭に戻します。 r を使用すると、前の print ステートメントを上書きできます。
# Python 3 for x in range(10): print(x, end='\r') print() # Python 2.7 from __future__ import print_function for x in range(10): print(x, end='\r') print()
Python 2 では、先頭のカンマprint ステートメントの終わりにより次の行に進むことができなくなり、上書き:
# Python 2 for x in range(10): print '{0}\r'.format(x), print
新しいテキスト行が前のテキスト行より短い場合、 x1b[1K (行末までクリア) を使用して残りをクリアできます。文字:
for x in range(75): print('*' * (75 - x), x, end='\x1b[1K\r') print()
デフォルトでは、Python は端末の幅を超える行を折り返します。これを防止し、連続する文字で前の行を確実に上書きするには、x1b[7l:
print('\x1b[7l', end='') # Disable line wrapping for x in range(50): print(x, end='\r') print('\x1b[7h', end='') # Re-enable line wrapping
で行折り返しを無効にします。注: 行折り返しを無効にした後は、行の折り返しを必ず再度有効にして、終了しないようにします。端末が壊れた状態です。
以上がPython で以前の出力を標準出力 (Stdout) に上書きするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。