Мне было интересно, знает ли кто, как установить цвет текста, который появляется в оболочке. Я заметил, что "ls" использует несколько разных цветов при печати информации на экране (на моем Linux-боксе), задавался вопросом, могу ли я использовать это в Python.
Python | изменить цвет текста в оболочке
Ответ 1
Используйте escape-последовательности Curses или ANSI. Прежде чем вы начнете извергать escape-последовательности, вы должны проверить, что stdout - это tty. Вы можете сделать это с помощью sys.stdout.isatty(). Здесь функция, выведенная из моего проекта, который выводит результат красным или зеленым цветом в зависимости от состояния, используя escape-последовательности ANSI:
def hilite(string, status, bold):
    attr = []
    if status:
        # green
        attr.append('32')
    else:
        # red
        attr.append('31')
    if bold:
        attr.append('1')
    return '\x1b[%sm%s\x1b[0m' % (';'.join(attr), string)
Ответ 2
Я только что описал очень популярную библиотеку clint. Который имеет больше особенностей, кроме окрашивания вывода на терминале.
Кстати, он поддерживает терминалы MAC, Linux и Windows.
Вот пример его использования:
Установка (в Ubuntu)
pip install clint
Чтобы добавить цвет к некоторой строке
colored.red('red string')
Пример: использование для вывода цвета (стиль команды django)
from django.core.management.base import BaseCommand
from clint.textui import colored
class Command(BaseCommand):
    args = ''
    help = 'Starting my own django long process. Use ' + colored.red('<Ctrl>+c') + ' to break.'
    def handle(self, *args, **options):
        self.stdout.write('Starting the process (Use ' + colored.red('<Ctrl>+c') + ' to break)..')
        # ... Rest of my command code ...
Ответ 3
Все основные цветовые коды приведены в https://www.siafoo.net/snippet/88
Ответ 4
 curses позволит вам правильно использовать цвета для используемого типа терминала.
Ответ 5
посмотрите http://www.pixelbeat.org/talks/python/ls.py
Ответ 6
Это так просто сделать на ПК: ОС Windows: Отправьте команду os для изменения текста: import os
os.system('color a') #green text
print 'I like green' 
raw_input('do you?')
