質問: VS codeを使いPythonを勉強している初学者です。 termcolorで色を変えようとしたところ、`?[32mtest?[0m` と表記されてしまいます。 どなたかご教授頂けると幸いです。 ``` from termcolor import colored print('test') print(colored('test', 'green')) ```
回答: `?[0m` はおそらく `ESC[0m` のことで、これは `vt100` 端末エスケープシーケンスというものです。むかし昔によく使われていた「端末」画面上で色を変える手続きの1つなのですが、残念ながら Windows のコンソールはこの `vt100` エスケープシーケンスに対応していません。そのため Windows のコンソール上は色が変わらずに文字化けして見えます。要するに今あなたのところの設定は Linux 端末 (`vt100`) 用になっていて Windows コンソール用の設定ではないのです。 Windows コンソール上で色をつけるには `colorama` をつかうとよいです。