Python для включения цветов ANSI для stdout в Windows?

Я ищу модуль Python, который добавит поддержку ANSI под Windows.

Это означает, что после импорта модуля, если вы выведете строки с экранированным ANSI, они появятся соответственно.

  • Запуск процесса в pythonw с помощью Popen без консоли
  • Python - переписать несколько строк в консоли
  • Наличие консоли в однопоточном скрипте Python
  • '\ b' не печатает backspace в консоли PyCharm
  • Интерактивная консоль с использованием Pydev в Eclipse?
  • Есть ли символ линии вверх? (Напротив \ n)
  • Как удалить escape-последовательности ANSI из строки в python
  • Запуск модуля из консоли pycharm
  • Как я могу «вручную» вернуть мой терминал для своего (символьного) размера?
  • escape-символы регулярного выражения python
  • Как запустить мой отредактированный файл в консоли PyCharm таким образом, чтобы впоследствии я мог ввести в командной строке?
  • Фильтрация управляющих последовательностей ANSI
  • 2 Solutions collect form web for “Python для включения цветов ANSI для stdout в Windows?”

    Существует два модуля python, которые могут выполнять этот colorama и tendo.ansiterm , который был первоначально написан для waf .

    По начальным тестам показывают, что colorama более зрелый, даже если ему требуется две строки кода вместо одного.

     import sys try: import colorama colorama.init() except: try: import tendo.ansiterm except: pass sys.stdout.write"\033[33mYellow Submarine" sys.stderr.write"\033[31mred, red , wine!" 

    Теперь оба будут работать нормально, но если вы попытаетесь перенаправить только один из stderr или stdout, ansiterm выведет ANSI-коды для отображения и перенаправления вывода.

    Я не уверен, но я подозреваю, что правильное поведение состоит в том, чтобы удалить ANSI-коды, когда на выходе si нет tty, вы не хотите видеть escape-файлы ANSI в файлах журналов.

    Лучше всего использовать модуль colorama .

    На самом деле, я считаю, что консоль Windows не поддерживает цвета ANSI изначально. colorama решает эту проблему, перехватывая последовательности ANSI и выполняя соответствующие вызовы изменения цвета Windows. Таким образом, ваш код может быть довольно портативным, так как он может печатать цвета одинаково как на Windows, так и на терминалах, совместимых с ANSI.

    Python - лучший язык программирования в мире.