質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

3回答

1881閲覧

termcolorを使い、赤い字を出力したい

fujita0522

総合スコア0

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/05/11 23:48

前提・実現したいこと

VS codeを使ってpythonの勉強をしているプログラミング初学者です。
termcolorを使って赤い字を出力したいのですが、うまく出せません。
どなたかご教授頂けると幸いです。

発生している問題・エラーメッセージ

?[32mtest?[0m

該当のソースコード

from termcolor import colored

print('test')

print(colored('test', 'green'))

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

x98000

2020/05/12 00:45

タイトルが「赤い字を出力したい」なので、ソースコードもredに直しておいたほうがいいです。
guest

回答3

0

console mode を変更する方法もあります。(win10)

イメージ説明

python

1 2def enable_console_color_mode(): 3 from ctypes import byref, windll 4 from ctypes.wintypes import DWORD 5 6 mode = DWORD() 7 handle = windll.kernel32.GetStdHandle(-11) 8 windll.kernel32.GetConsoleMode(handle, byref(mode)) 9 windll.kernel32.SetConsoleMode(handle, mode.value | 0x004) 10 11if __name__ == '__main__': 12 import sys 13 if "--color" in sys.argv: 14 enable_console_color_mode() 15 16 print("\033[31mtest\033[0m") # NOTE: 32 は緑 17

投稿2020/05/12 01:22

teamikl

総合スコア8664

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

コンソール出力で色を付ける場合はエスケープシーケンスを使いますが、OSによってエスケープシーケンスの解釈が異なります。質問に実行環境が書かれていませんが、Windowsで実行しているのでは無いでしょうか。
termcolorはWindows(powershell)に対応したエスケープシーケンスを出力できないようなので、coloramaと組み合わせるといいようです。調べてみてください。

※追記
実際に試したところ、VSCodeのターミナル(powershell)はANSIエスケープシーケンスに対応しているようで、coloredの出力もそのまま色付けすることが出来ました。

投稿2020/05/12 00:26

編集2020/05/12 00:42
x98000

総合スコア1096

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fujita0522

2020/05/12 00:58

ご回答ありがとうございます。 coloramaを調べ以下記述したところ赤になりました。 from termcolor import colored, cprint import colorama colorama.init() cprint("test", "red") 大変勉強になりました。今後ともよろしくお願いいたします。
guest

0

こちらは参考になりますか? 10ではないwindowsだと、対応していない可能性があります。
また、vscodeのターミナルでは色変更が上手く機能しないということも言及されています。
windows10であれば、powershellなどを試してみてはいかがでしょうか。

Those are ANSI Escape Sequences, but Windows before 10 has no native support for ANSI colors on the console. Change to another terminal that has support for it. (それらはANSIエスケープシーケンスですが、10より前のWindowsでは、コンソールでのANSIカラーのネイティブサポートはありません。対応している端末に変更してください。)

How To Use Colors in Terminal (Python)

投稿2020/05/12 00:20

jeanbiego

総合スコア3966

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問