概要
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 |
動作確認
以下は実行結果です。ちゃんと色がついています。