LoginSignup
1
1

More than 1 year has passed since last update.

コマンドプロンプトで実行するPythonスクリプトにおけるANSIカラーの出力

Last updated at Posted at 2022-10-03

WindowsのコマンドプロンプトでPythonのスクリプトを実行し, コンソールへの出力に色を付けたり太字にしたりする方法です.

短いサンプルコード

import os
os.system('')
print('\033[31mRed\033[0m')

コンソールへの出力は次のとおりです(サンプルコードをmain.pyとして実行):
foo.png

解説

サンプルコード2行目のos.system('')は引数のコマンドをサブシェルにて実行します[1].Windowsの場合通常はコマンドプロンプトです.引数が''のため単にサンプルコードのプロセス上で機能し始めるだけです.PythonインタプリタはANSIエスケープシーケンスの処理を有効にしないのでos.system('')を使用してください[2][3].
サンプルコード3行目のprint関数の引数における\033[31mは以降に出力する文字の色を赤にし, \033[0mはリセットします.\033[にくっつける数字などを変えることで他の文字色に変えたりすることができます.詳細は, 補足で紹介した記事に挙げられています.

補足

以下の記事では出力文字の変更や出力色の変更方法が紹介されており, 他の出力などが紹介されています.ただし, Pythonで実行する場合は当該記事における\eはPythonでは使用できないので\033または\x1bに置換してください.

References

[1] https://docs.python.org/3/library/os.html?highlight=os#os.system
[2] https://code-examples.net/ja/q/230ea3f
[3] https://stackoverflow.com/questions/57733862/ansi-escape-code-wont-work-on-python-interpreter

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1