概要
ANSIエスケープシーケンスを使って、コンソールプログラムで出力する文字に色をつける方法を紹介します。
実装
以下は緑と赤で文字を出力するプログラムです。
緑と赤は成功や失敗を表すときによく使います。
def color(text: str, code: int, bold: bool = False):
    prefix = ''
    if bold:
        prefix += '\033[1m'
    prefix += f'\033[{code}m'
    return prefix + text + '\033[0m'
def red(text, bold=False):
    return color(text, 31, bold)
def green(text, bold=False):
    return color(text, 32, bold)
if __name__ == '__main__':
    print(green('success'))
    print(red('failure'))色はANSIエスケープシーケンスで指定します。詳しくは ANSI escape code – Wikipedia#Colors を参照してください。
| 色 | 文字色 | 背景色 | 
|---|---|---|
| 黒 | 30 | 40 | 
| 赤 | 31 | 41 | 
| 緑 | 32 | 42 | 
| 黄 | 33 | 43 | 
| 青 | 34 | 44 | 
| マゼンタ | 35 | 45 | 
| シアン | 36 | 46 | 
| 白 | 37 | 47 | 
動作確認
以下は実行結果です。ちゃんと色がついています。
