Почему termcolor не работает в окнах python27?

Я только что установил termcolor для python 2.7 на windows8.1. Когда я пытаюсь напечатать цветной текст, я получаю странный вывод.

from termcolor import colored
print colored('Hello world','red')

Вот результат:

[31mHello world[0m

Помогите выбраться из этой проблемы. Спасибо, Заранее

1 ответ

См. Этот пост stackOverflow.

В основном это говорит о том, что для того, чтобы escape-последовательности работали в Windows, вам нужно сначала запустить os.system('color').

Например:

import termcolor
import os
os.system('color')
print(termcolor.colored("stackru", "green")

termcolor или же colored отлично работает под Python 2.7, и я не могу повторить вашу ошибку на моем Mac/Linux.

Если вы посмотрите в исходный код colored, это в основном печатать строку в формате как

\033[%dm%s\033[0m' % (COLORS[color], text)

Каким-то образом ваша терминальная среда не распознает непечатаемые escape-последовательности, которые используются в системе unix/linux для установки цвета переднего плана xterm.

Другие вопросы по тегам