Как напечатать цветной текст в терминале в Python?

python unicode terminal ansi-colors

1026163 просмотра

30 ответа

Как вывести цветной текст на терминал в Python? Какой символ Unicode лучше всего представляет сплошной блок?

Автор: aboSamoor Источник Размещён: 18.08.2019 12:37

Ответы (30)


1584 плюса

Это зависит от того, на какой платформе вы находитесь. Наиболее распространенный способ сделать это - распечатать escape-последовательности ANSI. Для простого примера, вот код Python из скриптов сборки Blender :

class bcolors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'

Чтобы использовать такой код, вы можете сделать что-то вроде

print bcolors.WARNING + "Warning: No active frommets remain. Continue?" 
      + bcolors.ENDC

Это будет работать на Unix, включая OS X, Linux и Windows (при условии, что вы используете ANSICON , или в Windows 10, если вы включаете эмуляцию VT100 ). Есть ANSI коды для установки цвета, перемещения курсора и многое другое.

Если вы собираетесь усложниться с этим (и это звучит так, как будто вы пишете игру), вам следует заглянуть в модуль «curses», который обрабатывает многие сложные части этого для вас. Howto Python Проклятия является хорошим введением.

Если вы не используете расширенный ASCII (то есть не на ПК), вы застряли с символами ascii ниже 127, и «#» или «@», вероятно, - лучшая ставка для блока. Если вы можете быть уверены, что ваш терминал использует расширенный набор символов IBM ascii , у вас есть еще много вариантов. Символы 176, 177, 178 и 219 являются «блочными персонажами».

Некоторые современные текстовые программы, такие как «Dwarf Fortress», эмулируют текстовый режим в графическом режиме и используют изображения классического шрифта для ПК. Вы можете найти некоторые из этих растровых изображений, которые вы можете использовать на вики Dwarf Fortress Wiki ( пользовательские наборы плиток ).

В демонстрационном конкурсе в текстовом режиме больше ресурсов для работы с графикой в ​​текстовом режиме.

Хм .. Я думаю, что немного увлекся этим ответом. Хотя я планирую эпическую текстовую приключенческую игру. Удачи с вашим цветным текстом!

Автор: joeld Размещён: 13.11.2008 07:25

682 плюса

Я удивлен, что никто не упомянул модуль Python termcolor . Использование довольно просто:

from termcolor import colored

print colored('hello', 'red'), colored('world', 'green')

Или в Python 3:

print(colored('hello', 'red'), colored('world', 'green'))

Однако он может быть недостаточно сложным для программирования игр и «цветных блоков», которые вы хотите сделать ...

Автор: Samat Jain Размещён: 16.11.2008 07:31

606 плюса

Ответ - Colorama для всех кроссплатформенных раскрасок в Python.

Пример экрана Python 3.6: пример скриншота

Автор: priestc Размещён: 26.07.2010 07:07

370 плюса

Напечатайте строку, которая начинает цвет / стиль, затем строку, а затем завершите изменение цвета / стиля '\x1b[0m':

print('\x1b[6;30;42m' + 'Success!' + '\x1b[0m')

Пример успеха на зеленом фоне

Получите таблицу параметров формата для текста оболочки со следующим кодом:

def print_format_table():
    """
    prints table of formatted text format options
    """
    for style in range(8):
        for fg in range(30,38):
            s1 = ''
            for bg in range(40,48):
                format = ';'.join([str(style), str(fg), str(bg)])
                s1 += '\x1b[%sm %s \x1b[0m' % (format, format)
            print(s1)
        print('\n')

print_format_table()

Пример «свет в темноте» (завершено)

введите описание изображения здесь

Пример темного света (частичный)

верхняя часть вывода

Автор: rabin utam Размещён: 14.02.2014 05:56

154 плюса

Определите строку, начинающую цвет, и строку, оканчивающую цвет, затем напечатайте текст с начальной строкой впереди и конечной строкой в ​​конце.

CRED = '\033[91m'
CEND = '\033[0m'
print(CRED + "Error, does not compute!" + CEND)

Это производит следующее bash, в urxvtс цветовой гаммой Zenburn стиля:

выходные цвета

Экспериментально мы можем получить больше цветов:

цветовая матрица

Примечание: \33[5mи \33[6mмигают.

Таким образом, мы можем создать полноцветную коллекцию:

CEND      = '\33[0m'
CBOLD     = '\33[1m'
CITALIC   = '\33[3m'
CURL      = '\33[4m'
CBLINK    = '\33[5m'
CBLINK2   = '\33[6m'
CSELECTED = '\33[7m'

CBLACK  = '\33[30m'
CRED    = '\33[31m'
CGREEN  = '\33[32m'
CYELLOW = '\33[33m'
CBLUE   = '\33[34m'
CVIOLET = '\33[35m'
CBEIGE  = '\33[36m'
CWHITE  = '\33[37m'

CBLACKBG  = '\33[40m'
CREDBG    = '\33[41m'
CGREENBG  = '\33[42m'
CYELLOWBG = '\33[43m'
CBLUEBG   = '\33[44m'
CVIOLETBG = '\33[45m'
CBEIGEBG  = '\33[46m'
CWHITEBG  = '\33[47m'

CGREY    = '\33[90m'
CRED2    = '\33[91m'
CGREEN2  = '\33[92m'
CYELLOW2 = '\33[93m'
CBLUE2   = '\33[94m'
CVIOLET2 = '\33[95m'
CBEIGE2  = '\33[96m'
CWHITE2  = '\33[97m'

CGREYBG    = '\33[100m'
CREDBG2    = '\33[101m'
CGREENBG2  = '\33[102m'
CYELLOWBG2 = '\33[103m'
CBLUEBG2   = '\33[104m'
CVIOLETBG2 = '\33[105m'
CBEIGEBG2  = '\33[106m'
CWHITEBG2  = '\33[107m'

Вот код для генерации теста:

x = 0
for i in range(24):
  colors = ""
  for j in range(5):
    code = str(x+j)
    colors = colors + "\33[" + code + "m\\33[" + code + "m\033[0m "
  print(colors)
  x=x+5
Автор: qubodup Размещён: 12.09.2016 02:00

81 плюса

Вы хотите узнать о escape-последовательностях ANSI. Вот краткий пример:

CSI="\x1B["
print(CSI+"31;40m" + "Colored Text" + CSI + "0m")

Для получения дополнительной информации см. Http://en.wikipedia.org/wiki/ANSI_escape_code

Для символа блока попробуйте символ Юникода, например, \ u2588:

print(u"\u2588")

Собираем все вместе:

print(CSI+"31;40m" + u"\u2588" + CSI + "0m")
Автор: Bryan Oakley Размещён: 13.11.2008 07:22

59 плюса

Мой любимый путь - с библиотекой Благословений (полное раскрытие: я написал). Например:

from blessings import Terminal

t = Terminal()
print t.red('This is red.')
print t.bold_bright_red_on_black('Bright red on black')

Чтобы напечатать цветные кирпичи, самый надежный способ - напечатать пробелы с фоновыми цветами. Я использую эту технику, чтобы нарисовать индикатор прогресса в прогрессивном носу :

print t.on_green(' ')

Вы также можете распечатать в определенных местах:

with t.location(0, 5):
    print t.on_yellow(' ')

Если вам придется использовать другие возможности терминала в ходе игры, вы также можете это сделать. Вы можете использовать стандартное форматирование строки Python, чтобы сделать его читаемым:

print '{t.clear_eol}You just cleared a {t.bold}whole{t.normal} line!'.format(t=t)

Хорошая особенность Blessings заключается в том, что он старается работать со всеми типами терминалов, а не только с (в подавляющем большинстве распространенными) ANSI-цветами. Он также сохраняет нечитаемые escape-последовательности в вашем коде, оставаясь при этом лаконичным в использовании. Повеселись!

Автор: Erik Rose Размещён: 18.12.2011 12:32

51 плюса

сгенерировал класс со всеми цветами, используя цикл for для повторения каждой комбинации цветов до 100, затем написал класс с цветами python. Скопируйте и вставьте, как вы, GPLv2 мной:

class colors:
    '''Colors class:
    reset all colors with colors.reset
    two subclasses fg for foreground and bg for background.
    use as colors.subclass.colorname.
    i.e. colors.fg.red or colors.bg.green
    also, the generic bold, disable, underline, reverse, strikethrough,
    and invisible work with the main class
    i.e. colors.bold
    '''
    reset='\033[0m'
    bold='\033[01m'
    disable='\033[02m'
    underline='\033[04m'
    reverse='\033[07m'
    strikethrough='\033[09m'
    invisible='\033[08m'
    class fg:
        black='\033[30m'
        red='\033[31m'
        green='\033[32m'
        orange='\033[33m'
        blue='\033[34m'
        purple='\033[35m'
        cyan='\033[36m'
        lightgrey='\033[37m'
        darkgrey='\033[90m'
        lightred='\033[91m'
        lightgreen='\033[92m'
        yellow='\033[93m'
        lightblue='\033[94m'
        pink='\033[95m'
        lightcyan='\033[96m'
    class bg:
        black='\033[40m'
        red='\033[41m'
        green='\033[42m'
        orange='\033[43m'
        blue='\033[44m'
        purple='\033[45m'
        cyan='\033[46m'
        lightgrey='\033[47m'
Автор: GI Jack Размещён: 18.10.2014 11:26

42 плюса

Попробуйте этот простой код

def prRed(prt): print("\033[91m {}\033[00m" .format(prt))
def prGreen(prt): print("\033[92m {}\033[00m" .format(prt))
def prYellow(prt): print("\033[93m {}\033[00m" .format(prt))
def prLightPurple(prt): print("\033[94m {}\033[00m" .format(prt))
def prPurple(prt): print("\033[95m {}\033[00m" .format(prt))
def prCyan(prt): print("\033[96m {}\033[00m" .format(prt))
def prLightGray(prt): print("\033[97m {}\033[00m" .format(prt))
def prBlack(prt): print("\033[98m {}\033[00m" .format(prt))

prGreen("Hello world")
Автор: dayitv89 Размещён: 23.12.2015 08:20

39 плюса

sty похож на colorama, но он менее подробный, поддерживает 8-битные и 24- битные (rgb) цвета, позволяет вам регистрировать собственные цвета, действительно гибкий и хорошо документированный.

from sty import fg, bg, ef, rs, RgbFg

foo = fg.red + 'This is red text!' + fg.rs
bar = bg.blue + 'This has a blue background!' + bg.rs
baz = ef.italic + 'This is italic text' + rs.italic
qux = fg(201) + 'This is pink text using 8bit colors' + fg.rs
qui = fg(255, 10, 10) + 'This is red text using 24bit colors.' + fg.rs

# Add new colors:

fg.set_style('orange', RgbFg(255, 150, 50))

buf = fg.orange + 'Yay, Im orange.' + fg.rs

print(foo, bar, baz, qux, qui, buf, sep='\n')

печатает:

введите описание изображения здесь

Демо-версия: введите описание изображения здесь

Автор: Rotareti Размещён: 10.02.2018 05:04

28 плюса

В Windows вы можете использовать модуль 'win32console' (доступный в некоторых дистрибутивах Python) или модуль 'ctypes' (Python 2.5 и выше) для доступа к Win32 API.

Чтобы увидеть полный код, который поддерживает оба способа, см. Код отчетности цветовой консоли от Testoob .

Пример ctypes:

import ctypes

# Constants from the Windows API
STD_OUTPUT_HANDLE = -11
FOREGROUND_RED    = 0x0004 # text color contains red.

def get_csbi_attributes(handle):
    # Based on IPython's winconsole.py, written by Alexander Belchenko
    import struct
    csbi = ctypes.create_string_buffer(22)
    res = ctypes.windll.kernel32.GetConsoleScreenBufferInfo(handle, csbi)
    assert res

    (bufx, bufy, curx, cury, wattr,
    left, top, right, bottom, maxx, maxy) = struct.unpack("hhhhHhhhhhh", csbi.raw)
    return wattr


handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)
reset = get_csbi_attributes(handle)

ctypes.windll.kernel32.SetConsoleTextAttribute(handle, FOREGROUND_RED)
print "Cherry on top"
ctypes.windll.kernel32.SetConsoleTextAttribute(handle, reset)
Автор: orip Размещён: 13.11.2008 10:22

23 плюса

Тупо просто, основываясь на ответе @ joeld

class PrintInColor:
    RED = '\033[91m'
    GREEN = '\033[92m'
    YELLOW = '\033[93m'
    LIGHT_PURPLE = '\033[94m'
    PURPLE = '\033[95m'
    END = '\033[0m'

    @classmethod
    def red(cls, s, **kwargs):
        print(cls.RED + s + cls.END, **kwargs)

    @classmethod
    def green(cls, s, **kwargs):
        print(cls.GREEN + s + cls.END, **kwargs)

    @classmethod
    def yellow(cls, s, **kwargs):
        print(cls.YELLOW + s + cls.END, **kwargs)

    @classmethod
    def lightPurple(cls, s, **kwargs):
        print(cls.LIGHT_PURPLE + s + cls.END, **kwargs)

    @classmethod
    def purple(cls, s, **kwargs):
        print(cls.PURPLE + s + cls.END, **kwargs)

Тогда просто

PrintInColor.red('hello', end=' ')
PrintInColor.green('world')
Автор: zahanm Размещён: 18.04.2015 10:18

21 плюса

Я обернул ответ @joeld в модуль с глобальными функциями, которые я могу использовать в любом месте моего кода.

файл: log.py

HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = "\033[1m"

def disable():
    HEADER = ''
    OKBLUE = ''
    OKGREEN = ''
    WARNING = ''
    FAIL = ''
    ENDC = ''

def infog( msg):
    print OKGREEN + msg + ENDC

def info( msg):
    print OKBLUE + msg + ENDC

def warn( msg):
    print WARNING + msg + ENDC

def err( msg):
    print FAIL + msg + ENDC

использовать следующим образом:

 import log
    log.info("Hello World")
    log.err("System Error")
Автор: Mohamed Samy Размещён: 12.06.2013 11:38

20 плюса

Для Windows вы не можете печатать на консоли с цветами, если вы не используете win32api.

Для Linux это так же просто, как использовать print, с escape-последовательностями, описанными здесь:

Цвета

Для того, чтобы символ печатался как коробка, он действительно зависит от того, какой шрифт вы используете для окна консоли. Символ фунта работает хорошо, но это зависит от шрифта:

#
Автор: UberJumper Размещён: 13.11.2008 07:06

19 плюса

Я закончил тем, что делал это, я чувствовал, что это было самым чистым:

formatters = {             
    'RED': '\033[91m',     
    'GREEN': '\033[92m',   
    'END': '\033[0m',      
}

print 'Master is currently {RED}red{END}!'.format(**formatters)
print 'Help make master {GREEN}green{END} again!'.format(**formatters)
Автор: Ben174 Размещён: 17.08.2016 08:01

19 плюса

Опираясь на ответ @joeld, используя https://pypi.python.org/pypi/lazyme pip install -U lazyme :

from lazyme.string import color_print
>>> color_print('abc')
abc
>>> color_print('abc', color='pink')
abc
>>> color_print('abc', color='red')
abc
>>> color_print('abc', color='yellow')
abc
>>> color_print('abc', color='green')
abc
>>> color_print('abc', color='blue', underline=True)
abc
>>> color_print('abc', color='blue', underline=True, bold=True)
abc
>>> color_print('abc', color='pink', underline=True, bold=True)
abc

Скриншот:

введите описание изображения здесь


Некоторые обновления color_printс новыми форматерами, например:

>>> from lazyme.string import palette, highlighter, formatter
>>> from lazyme.string import color_print
>>> palette.keys() # Available colors.
['pink', 'yellow', 'cyan', 'magenta', 'blue', 'gray', 'default', 'black', 'green', 'white', 'red']
>>> highlighter.keys() # Available highlights.
['blue', 'pink', 'gray', 'black', 'yellow', 'cyan', 'green', 'magenta', 'white', 'red']
>>> formatter.keys() # Available formatter, 
['hide', 'bold', 'italic', 'default', 'fast_blinking', 'faint', 'strikethrough', 'underline', 'blinking', 'reverse']

Примечание: italic, fast blinkingи strikethroughне может работать на всех терминалах, не работает на Mac / Ubuntu.

Например

>>> color_print('foo bar', color='pink', highlight='white')
foo bar
>>> color_print('foo bar', color='pink', highlight='white', reverse=True)
foo bar
>>> color_print('foo bar', color='pink', highlight='white', bold=True)
foo bar
>>> color_print('foo bar', color='pink', highlight='white', faint=True)
foo bar
>>> color_print('foo bar', color='pink', highlight='white', faint=True, reverse=True)
foo bar
>>> color_print('foo bar', color='pink', highlight='white', underline=True, reverse=True)
foo bar

Скриншот:

введите описание изображения здесь

Автор: alvas Размещён: 01.03.2017 10:09

17 плюса

обратите внимание, насколько хорошо withключевое слово смешивается с такими модификаторами, которые необходимо сбросить (используя Python 3 и Colorama):

from colorama import Fore, Style
import sys

class Highlight:
  def __init__(self, clazz, color):
    self.color = color
    self.clazz = clazz
  def __enter__(self):
    print(self.color, end="")
  def __exit__(self, type, value, traceback):
    if self.clazz == Fore:
      print(Fore.RESET, end="")
    else:
      assert self.clazz == Style
      print(Style.RESET_ALL, end="")
    sys.stdout.flush()

with Highlight(Fore, Fore.GREEN):
  print("this is highlighted")
print("this is not")
Автор: Janus Troelsen Размещён: 01.07.2012 12:41

17 плюса

Я отвечаю, потому что я нашел способ использовать коды ANSI на окнах, чтобы вы могли изменить цвет текста без каких-либо встроенных модулей:

Линия, которая делает эту работу, такова os.system('color'), но чтобы убедиться, что вы не вызываете ошибок, если человек не в Windows, вы можете использовать этот скрипт:

import os, sys

if sys.platform.lower() == "win32":
    os.system('color')

# Group of Different functions for different styles
class style():
    BLACK = lambda x: '\033[30m' + str(x)
    RED = lambda x: '\033[31m' + str(x)
    GREEN = lambda x: '\033[32m' + str(x)
    YELLOW = lambda x: '\033[33m' + str(x)
    BLUE = lambda x: '\033[34m' + str(x)
    MAGENTA = lambda x: '\033[35m' + str(x)
    CYAN = lambda x: '\033[36m' + str(x)
    WHITE = lambda x: '\033[37m' + str(x)
    UNDERLINE = lambda x: '\033[4m' + str(x)
    RESET = lambda x: '\033[0m' + str(x)

print(style.YELLOW("Hello, ") + style.RESET("World!"))

Версия Python: 3.6.7 (32 бит)

Автор: SimpleBinary Размещён: 02.03.2019 03:59

16 плюса

Вы можете использовать реализацию библиотеки curses на Python: http://docs.python.org/library/curses.html

Кроме того, запустите это, и вы найдете свой ящик:

for i in range(255):
    print i, chr(i)
Автор: daharon Размещён: 13.11.2008 07:13

16 плюса

Вы можете использовать CLINT:

from clint.textui import colored
print colored.red('some warning message')
print colored.green('nicely done!')

Получите это от GitHub .

Автор: Giacomo Lacava Размещён: 08.01.2012 01:40

12 плюса

Если вы программируете игру, возможно, вы хотели бы изменить цвет фона и использовать только пробелы? Например:

print " "+ "\033[01;41m" + " " +"\033[01;46m"  + "  " + "\033[01;42m"
Автор: suhib-alsisan Размещён: 13.11.2008 07:38

12 плюса

# Pure Python 3.x demo, 256 colors
# Works with bash under Linux and MacOS

fg = lambda text, color: "\33[38;5;" + str(color) + "m" + text + "\33[0m"
bg = lambda text, color: "\33[48;5;" + str(color) + "m" + text + "\33[0m"

def print_six(row, format):
    for col in range(6):
        color = row*6 + col + 4
        if color>=0:
            text = "{:3d}".format(color)
            print (format(text,color), end=" ")
        else:
            print("   ", end=" ")

for row in range(-1,42):
    print_six(row, fg)
    print("",end=" ")
    print_six(row, bg)
    print()

# Simple usage: print(fg("text", 160))

Текст с изменением переднего плана и фона, цвета 0..141 Текст с изменением переднего плана и фона, цвета 142..255

Автор: Andriy Makukha Размещён: 25.04.2018 02:50

10 плюса

Если вы используете Windows, то здесь вы идете!

# display text on a Windows console
# Windows XP with Python27 or Python32
from ctypes import windll
# needed for Python2/Python3 diff
try:
    input = raw_input
except:
    pass
STD_OUTPUT_HANDLE = -11
stdout_handle = windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)
# look at the output and select the color you want
# for instance hex E is yellow on black
# hex 1E is yellow on blue
# hex 2E is yellow on green and so on
for color in range(0, 75):
     windll.kernel32.SetConsoleTextAttribute(stdout_handle, color)
     print("%X --> %s" % (color, "Have a fine day!"))
     input("Press Enter to go on ... ")
Автор: Navweb Размещён: 25.06.2012 04:59

10 плюса

asciimatics предоставляет портативную поддержку для создания текстового интерфейса и анимации:

#!/usr/bin/env python
from asciimatics.effects import RandomNoise  # $ pip install asciimatics
from asciimatics.renderers import SpeechBubble, Rainbow
from asciimatics.scene import Scene
from asciimatics.screen import Screen
from asciimatics.exceptions import ResizeScreenError


def demo(screen):
    render = Rainbow(screen, SpeechBubble('Rainbow'))
    effects = [RandomNoise(screen, signal=render)]
    screen.play([Scene(effects, -1)], stop_on_resize=True)

while True:
    try:
        Screen.wrapper(demo)
        break
    except ResizeScreenError:
        pass

Asciicast:

текст цвета радуги среди шума ASCII

Автор: jfs Размещён: 05.05.2016 01:08

9 плюса

Вот пример проклятия:

import curses

def main(stdscr):
    stdscr.clear()
    if curses.has_colors():
        for i in xrange(1, curses.COLORS):
            curses.init_pair(i, i, curses.COLOR_BLACK)
            stdscr.addstr("COLOR %d! " % i, curses.color_pair(i))
            stdscr.addstr("BOLD! ", curses.color_pair(i) | curses.A_BOLD)
            stdscr.addstr("STANDOUT! ", curses.color_pair(i) | curses.A_STANDOUT)
            stdscr.addstr("UNDERLINE! ", curses.color_pair(i) | curses.A_UNDERLINE)
            stdscr.addstr("BLINK! ", curses.color_pair(i) | curses.A_BLINK)
            stdscr.addstr("DIM! ", curses.color_pair(i) | curses.A_DIM)
            stdscr.addstr("REVERSE! ", curses.color_pair(i) | curses.A_REVERSE)
    stdscr.refresh()
    stdscr.getch()

if __name__ == '__main__':
    print "init..."
    curses.wrapper(main)
Автор: nosklo Размещён: 02.07.2009 11:59

9 плюса

https://raw.github.com/fabric/fabric/master/fabric/colors.py

"""
.. versionadded:: 0.9.2

Functions for wrapping strings in ANSI color codes.

Each function within this module returns the input string ``text``, wrapped
with ANSI color codes for the appropriate color.

For example, to print some text as green on supporting terminals::

    from fabric.colors import green

    print(green("This text is green!"))

Because these functions simply return modified strings, you can nest them::

    from fabric.colors import red, green

    print(red("This sentence is red, except for " + \
          green("these words, which are green") + "."))

If ``bold`` is set to ``True``, the ANSI flag for bolding will be flipped on
for that particular invocation, which usually shows up as a bold or brighter
version of the original color on most terminals.
"""


def _wrap_with(code):

    def inner(text, bold=False):
        c = code
        if bold:
            c = "1;%s" % c
        return "\033[%sm%s\033[0m" % (c, text)
    return inner

red = _wrap_with('31')
green = _wrap_with('32')
yellow = _wrap_with('33')
blue = _wrap_with('34')
magenta = _wrap_with('35')
cyan = _wrap_with('36')
white = _wrap_with('37')
Автор: Vishal Размещён: 26.03.2013 09:15

9 плюса

УРА! другая версия

пока я нахожу этот ответ полезным, я немного его изменил. этот Github Gist является результатом

использование

print colors.draw("i'm yellow", bold=True, fg_yellow=True)

введите описание изображения здесь

Кроме того, вы можете обернуть обычные использования:

print colors.error('sorry, ')

ASD

https://gist.github.com/Jossef/0ee20314577925b4027f

Автор: Jossef Harush Размещён: 07.02.2015 10:43

9 плюса

Еще один модуль pypi, который включает функцию печати python 3:

https://pypi.python.org/pypi/colorprint

Это можно использовать в Python 2.x, если вы тоже from __future__ import print. Вот пример Python 2 со страницы Pypi для модулей:

from __future__ import print_function
from colorprint import *

print('Hello', 'world', color='blue', end='', sep=', ')
print('!', color='red', format=['bold', 'blink'])

Выходы "Привет, мир!" со словами в синем и восклицательным знаком, выделенным красным и мигающим.

Автор: drevicko Размещён: 09.07.2015 06:58

9 плюса

Более простой вариант - использовать cprintфункцию из termcolorпакета.

цветная печать питон

Он также поддерживает %s, %dформат печати

введите описание изображения здесь

Автор: kmario23 Размещён: 21.05.2018 10:59

8 плюса

Если вы используете Django

>>> from django.utils.termcolors import colorize
>>> print colorize("Hello World!", fg="blue", bg='red',
...                 opts=('bold', 'blink', 'underscore',))
Hello World!
>>> help(colorize)

снимок:

образ

(Я обычно использую цветной вывод для отладки на терминале runserver, поэтому я добавил его.)

Вы можете проверить, установлен ли он на вашем компьютере:
<sub> $ python -c "import django; print django.VERSION"</sub>
Чтобы установить его, проверьте: Как установить Django

Попробуйте!

Автор: Grijesh Chauhan Размещён: 22.04.2015 07:00
Вопросы из категории :
32x32