web-dev-qa-db-ja.com

Windowsコンソールでtermcolor出力が色付きのテキストではなく文字を制御するのはなぜですか?

Windowsに termcolor for Python 2.7をインストールしました。色付きのテキストを印刷しようとすると、代わりにカラーコードが表示されます。

from termcolor import colored
print colored('Text text text', 'red')

結果は次のとおりです。

Screenshot of the Windows console window with the line: "←31mText text text←[0m"

Far Managerで、スタンドアロンアプリケーションとしてスクリプトを実行しようとしたときに、同じ結果が得られます。

18
user3170921

Termcolorで使用されるANSIカラーをWindowsターミナルで機能させるには、import/init colorama ;も必要です。

>>> from termcolor import *
>>> cprint('hello', 'red')
←[31mhello←[0m
>>> import colorama
>>> colorama.init()
>>> cprint('hello', 'red')
hello                                    <-- in red color
>>>
33

Termcolor2モジュールでは、次のように入力する必要があります。

import termcolor2
import colorama
colorama.init()

myText = input("Type a text : ")
color = input("What color you want? : ")

print(termcolor2.colored(myText, color))

それでおしまい...

1
morteza rahmani