Python | изменить цвет текста в оболочке

Мне было интересно, знает ли кто, как установить цвет текста, который появляется в оболочке. Я заметил, что «ls» использует несколько разных цветов при печати информации на экране (в моем ящике Linux), было интересно, могу ли я воспользоваться преимуществами этого в Python.

  • Как выполнить сценарий удаленно в python с помощью ssh?
  • присвоение значения переменной оболочки с использованием возвращаемого значения функции из Python
  • Как узнать, работает ли скрипт на tty?
  • Объединение 2 .csv-файлов общим столбцом
  • Создание скриптов bash в python
  • Обнаружить версию python в сценарии оболочки
  • pandas получают позицию данного индекса в DataFrame
  • Операторы Splat в JavaScript, эквивалентные * args и ** kwargs в Python?
  • Устранение сбоев "ssl certificate verify failed" ошибка
  • Как поймать выход исключения из Python subprocess.check_output ()?
  • Экспорт диаграмм из Excel в виде изображений с использованием Python
  • Найти индексы строк нескольких значений в массиве numpy
  • 6 Solutions collect form web for “Python | изменить цвет текста в оболочке”

    Используйте 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) 

    Я просто описал очень популярную библиотеку 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 ... 

    Все основные цветовые коды приведены на https://www.siafoo.net/snippet/88

    curses позволит вам правильно использовать цвета для используемого типа терминала.

    Это так просто сделать на ПК: ОС Windows: отправить команду os для изменения текста: import os

     os.system('color a') #green text print 'I like green' raw_input('do you?') 
    Python - лучший язык программирования в мире.