Python - Изменение цвета текста IDLE не работает в Windows - PullRequest
0 голосов
/ 10 марта 2019

Я использую colorama , чтобы попытаться смоделировать в оболочке IDLE. Вот мой код:

from colorama import Fore, Back, Style

print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')

Мой вывод выглядит примерно так:

Error

Что не так? Почему он печатает эти странные буквы в начале? Я использую Windows OS.

P.S. Я также попытался запустить это в командной строке, и я получил аналогичный вывод

Ответы [ 2 ]

1 голос
/ 10 марта 2019

Вам не хватает вызова init (прокрутите вниз до «Использование»):

from colorama import Fore, Back, Style, init

# Here
init()

print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')

Какие выходы, цветные

some red text
and with a green background
and in dim text

back to normal now

Это все еще не работает в IDLE, но работает в cmd и powershell.

0 голосов
/ 11 марта 2019

В Windows Colorama предполагает, что выходные данные отправляются в текстовую консоль Windows. Командная строка использует эту консоль. То же самое делает python.exe, когда запускается из значка или пункта меню «Пуск». Colorama отправляет управляющие коды ANSI, а также делает вызовы win32 понятными для консоли. Он не работает напрямую с графическими платформами, текстовые виджеты которых имеют текст, окрашенный другим методом.

...