Я пытаюсь напечатать цветной текст с помощью Colorama, и я попробовал это:
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')
Но он возвращает это:
[31msome red text
[42mand with a green background
[2mand in dim text
[0m
back to normal now
Когда я хочу:
- Первая строка красного цвета
- Второй с зеленым фоном
- Третий тёмный текст
- А потом все возвращается в норму.
Я использую python 3.7.3 с последней загрузкой colorama из pip на компьютере с Windows 10.
.
РЕДАКТИРОВАТЬ: мой вопрос был помечен как дубликат, 6 уже отправлено ответов , поэтому вот что произойдет, если я их использую:
- Ответ от hrbdg поручил запустить этот код:
from colorama import init, Fore, Back, Style
init(convert=True)
print(Fore.RED + 'some red text')
Для меня это возвращает some red text
в стандартном синем цвете.
- По словам Шона Линча, мне нужно это исправить. Поэтому я скачиваю Ансикон и следую его инструкциям. Затем я печатаю:
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')
Опять получаю:
[31msome red text
[42mand with a green background
[2mand in dim text
[0m
back to normal now
- Ответ от babrar поручил запустить этот код:
from colorama import init
from termcolor import colored
init()
print(colored('Hello, World!', 'green', 'on_red'))
Для меня это возвращает [41m[32mHello, World![0m
синим цветом.
- Пользователь sorin предлагает использовать тендо.colorer, потому что у меня нет ANSI в Windows. Поэтому я скачиваю тендо через пипс. По его словам: «просто импортируя его перед вашим кодом, это решит проблему». Итак, я запускаю этот код:
from colorama import Fore, Back, Style
from tendo import colorer
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')
Но это возвращается ... удивительно [31mMy Text is Red
, и, надеюсь, у меня сейчас нет вируса на моем компьютере.
Пользователь kamzur говорит, что Майк, первоначальный автор вопроса, должен использовать только один импорт в одной строке вместо трех. Это не полезно.
Пользователь tcp2008 рекомендует запустить:
import colorama
colorama.init()
print colorama.Fore.GREEN + " Hey, im green! "
Что возвращает [32m Hey, im green!
.