Stdout 上の前の出力を上書きする
Python では、print() 関数のデフォルトの動作は、各呼び出し後に新しい行を開始することです。 。ただし、特定のシナリオでは、同じ行の前の出力を上書きする必要があります。
単純な上書き
前の行を上書きするには、'r' (キャリッジ リターン) を行に追加します。 print()の終了引数。このリターン文字は、新しいテキストを開始せずに、カーソルを現在の行の先頭に移動します。
for x in range(10): print(x, end='\r') print()
行のクリーニング
新しいテキストが現在の行より短い場合前の行には古いテキストの名残が残る可能性があります。残りの文字をクリアするには、'x1b[1K' (行末までクリア) を末尾引数に追加します。
for x in range(75): print('*' * (75 - x), x, end='\x1b[1K\r') print()
長い行の折り返し
行の折り返し行末を超えて行が自動的に継続されることを指します。行折り返しを防止し、連続する文字で既存の文字を強制的に上書きするには、「x1b[7l」を使用して行折り返しを無効にし、「x1b[7h」を使用して再度有効にします。
print('\x1b[7l', end='') # disable line wrap print('\x1b[7h', end='') # re-enable line wrap
注: 端子の破損を防ぐために、ラインラップを再度有効にする必要があります。さらに、これらのソリューションは現在の行の長さを制御するだけであり、後続の行にオーバーフローすることはありません。
以上がPython の `print()` 関数で以前の出力を上書きするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。