ホームページ > バックエンド開発 > Python チュートリアル > Python の `print()` 関数で以前の出力を上書きするにはどうすればよいですか?

Python の `print()` 関数で以前の出力を上書きするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-03 07:47:09
オリジナル
558 人が閲覧しました

How Can I Overwrite Previous Output in Python's `print()` Function?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート