Используйте колораму, чтобы изменить цвет текста ввода Python - PullRequest
1 голос
/ 06 марта 2019

Когда я пытаюсь использовать colorama с оператором ввода python, это не работает. Это вывод, который я получаю:

[33mEnter the name of the AWS account you'll be working in:

Показывает код ASCII вместо того, чтобы использовать нужный мне цвет. И это не меняет цвет.

Вот мой код:

from colorama import init, Fore, Back, Style
init()
input(Fore.YELLOW + "Enter the name of the AWS account you'll be working in: ")

Есть ли способ заставить это работать?

Я использую свою среду на Windows 10. Я хотел бы, если это возможно, использовать кроссплатформенное решение, так как другие могут запускать его на Linux.

1 Ответ

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

Код не проблема. Код, который вы показываете, дает мне желтый текст в моей консоли. Я на Mac под управлением iTerm в качестве моей консоли. Это также работает в стандартной консоли Mac. Похоже, что среда, в которой вы запускаете этот код, не поддерживает цветной текст. Как у вас работает этот код?

Все, что делает модуль colorama, это выводит правильные символы, которые должны интерпретироваться средой, обычно терминальным приложением / командой, в которой вы выполняете код. Что-то за пределами кода Python должно наблюдать за этими символами и преобразовывать текст в цветной текст без кодов. Похоже, что ваша среда этого не делает.

Я думаю, что этот пост может решить проблему. Я не могу проверить это, потому что я не на Windows:

Colorama for Python, Не возвращает цветные линии печати в Windows

Краткий ответ:

init(convert=True)

но кто-то, отвечая на этот пост, сказал, что это не работает для него. В сообщении много информации.

Это распространенная проблема. Поведение зависит от окружающей среды. Код использует стандартный набор кодов, но среда должна их поддерживать. Вероятно, не будет «работающего везде» решения из-за этой зависимости от среды выполнения для получения цвета. Python не отображает текст на экране. Python не может сделать текст цветным текстом. Он может следовать только набору правил, которые могут поддерживаться или не поддерживаться средой.

...