Python | изменяет цвет текста в оболочке [дубликат]

Этот вопрос уже имеет ответ здесь:

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

30
задан johannix 24 February 2010 в 22:46
поделиться

4 ответа

Используйте Curses или escape-последовательности ANSI. Перед тем, как вы начнете выдавать escape-последовательности, вы должны убедиться, что stdout - это tty. Вы можете сделать это с помощью sys.stdout.isatty () . Вот функция, взятая из моего проекта, которая выводит результат красным или зеленым, в зависимости от статуса, с использованием управляющих последовательностей 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)
53
ответ дан 27 November 2019 в 23:27
поделиться

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

5
ответ дан 27 November 2019 в 23:27
поделиться

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

4
ответ дан 27 November 2019 в 23:27
поделиться
2
ответ дан 27 November 2019 в 23:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: