Python ターミナルで色付きのテキストを表示する

Python

Python でターミナル出力に色を追加する

Python は、ターミナル出力の読みやすさと外観を向上させるさまざまな方法を提供します。効果的な方法の 1 つは、色付きのテキストを使用することです。これにより、重要な情報を強調したり、さまざまな種類のデータを区別したりできます。

このガイドでは、端末に色付きのテキストを印刷するために Python で利用できるさまざまなテクニックとライブラリを検討します。初心者でも経験豊富な開発者でも、これらの方法は、より視覚的に魅力的なコマンド ライン アプリケーションを作成するのに役立ちます。

指示 説明
\033[91m 赤色のテキスト色の ANSI エスケープ コード。
\033[0m テキストの書式設定をリセットするための ANSI エスケープ コード。
colorama.init(autoreset=True) colorama を初期化し、各印刷後に色を自動的にリセットするように設定します。
colorama.Fore.RED 赤いテキストの色を表す Colorama 定数。
colorama.Style.RESET_ALL すべてのテキスト書式をリセットする Colorama 定数。
color_map.get(color, Fore.WHITE) color_map ディクショナリから指定された色を取得します。色が見つからない場合はデフォルトで白になります。

Python ターミナルのテキストの色付けテクニックを理解する

最初のスクリプトでは、 端末で色付きのテキストを印刷します。これらのエスケープ コードは、端末がテキストの外観を変更するコマンドとして解釈する一連の文字です。例えば、 テキストの色が赤に変わります。 テキストの書式設定をリセットします。スクリプトは関数を定義します。 print_colored、これは 2 つの引数を取ります: 印刷するテキストと希望の色です。関数内では、辞書が色の名前を対応する ANSI コードにマップします。テキストは、適切なカラー コードとリセット コードを含む f 文字列を使用して印刷されます。

2 番目のスクリプトでは、 ライブラリ。クロスプラットフォームのカラーテキスト出力を簡素化します。ライブラリは次のように初期化されます 、各 print ステートメントの後にテキストの書式設定がリセットされるようにします。の このスクリプトの関数は、引数としてテキストと色も受け取ります。辞書は色の名前を次のようにマッピングします。 colorama.Fore 定数など 。テキストは、色定数とテキストを組み合わせた f 文字列を使用して印刷されます。 書式設定をリセットする定数。これらのスクリプトは、端末出力に色を追加し、読みやすさとユーザー エクスペリエンスを向上させるための 2 つの効果的な方法を示しています。

Python でのカラーテキストの ANSI エスケープ コードの使用

ANSI エスケープ コードを使用した Python スクリプト

def print_colored(text, color):
    color_codes = {
        "red": "\033[91m",
        "green": "\033[92m",
        "yellow": "\033[93m",
        "blue": "\033[94m",
        "magenta": "\033[95m",
        "cyan": "\033[96m",
        "white": "\033[97m",
    }
    reset_code = "\033[0m"
    print(f"{color_codes.get(color, color_codes['white'])}{text}{reset_code}")

端末のテキストの色付けに「colorama」ライブラリを活用する

「colorama」ライブラリを使用した Python スクリプト

from colorama import init, Fore, Style
init(autoreset=True)
def print_colored(text, color):
    color_map = {
        "red": Fore.RED,
        "green": Fore.GREEN,
        "yellow": Fore.YELLOW,
        "blue": Fore.BLUE,
        "magenta": Fore.MAGENTA,
        "cyan": Fore.CYAN,
        "white": Fore.WHITE,
    }
    print(f"{color_map.get(color, Fore.WHITE)}{text}{Style.RESET_ALL}")

Python でカラー テキスト用の追加ライブラリを探索する

使用を超えて そしてその ライブラリ、Python のカラー テキスト用のもう 1 つの強力なライブラリは次のとおりです。 。このライブラリは、端末でカラー テキストを印刷するための簡単な API を提供します。太字、下線、背景色などのさまざまなテキスト属性をサポートします。使用するには termcolor、まず pip を使用してインストールする必要があります。インストールすると、その機能を使用できるようになります そして 機能。の 関数は適切なエスケープ シーケンスを含む文字列を返します。 cprint テキストを端末に直接出力します。

もう 1 つの便利なライブラリは、 、色付きのテキストをサポートするだけでなく、表、マークダウンのレンダリング、構文の強調表示などの高度な書式設定も可能になります。これにより、視覚的に魅力的なコマンド ライン アプリケーションを作成するための多用途ツールになります。使用するには 、pip経由でインストールし、それを利用します 強化されたテキスト書式設定のための関数。これらのライブラリにより、端末テキストのスタイル設定のオプションが拡張され、より魅力的でユーザーフレンドリーな CLI ツールを作成できるようになります。

Python のカラーテキストに関するよくある質問

  1. termcolor ライブラリをインストールするにはどうすればよいですか?
  2. コマンドを使用して termcolor ライブラリをインストールできます。 。
  3. colorama と termcolor はどう違いますか?
  4. どちらのライブラリも端末内の色付きテキストに使用されますが、 はクロスプラットフォーム互換性により重点を置いていますが、 は、色およびテキスト属性のためのより簡単な API を提供します。
  5. 同じスクリプトで colorama と termcolor の両方を使用できますか?
  6. はい、両方の機能が必要な場合は、同じスクリプトで両方のライブラリを使用できます。必ず初期化して正しく使用してください。
  7. termcolor を使用して太字のテキストを印刷するにはどうすればよいですか?
  8. の属性パラメータを使用すると、太字のテキストを印刷できます。 関数、例: 。
  9. 端末内の文字の背景に色を付けることはできますか?
  10. はい、両方とも そして 背景色をサポートします。で 、次のような定数を使用できます Back.RED、そして を使用できます。 パラメータ。
  11. リッチでテキストの書式設定をリセットするにはどうすればよいですか?
  12. の中に ライブラリの場合、テキストの書式設定は、次のように、print 関数呼び出しの終了時に自動的にリセットされます。 オートリセット機能。
  13. これらのライブラリを使用してログ ファイル内のテキストをフォーマットできますか?
  14. これらのライブラリは主に端末出力用に設計されています。ログ ファイル内のテキストを書式設定するには、カラー サポートを備えたログ ライブラリを使用するか、ログ ビューアがサポートしている場合は ANSI コードを手動で追加する必要がある場合があります。
  15. 高度な端末フォーマット用の他のライブラリにはどのようなものがありますか?
  16. その上 、 、 そして 、次のようなライブラリを探索できます。 blessed そして 高度な端末フォーマット オプションの場合。

Python ターミナルでカラー テキストを使用することは、コマンド ライン アプリケーションの明瞭さと魅力を向上させる強力な方法です。 ANSI エスケープ コードや colorama、termcolor、rich などのライブラリを利用することで、開発者は出力に色やテキスト属性を簡単に追加できます。これらの技術は、端末出力をより視覚的に魅力的なものにするだけでなく、重要な情報を強調表示し、全体的なユーザー インタラクションを向上させるのにも役立ちます。