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

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

+1811
13 нояб. '08 в 18:58
источник поделиться
41 ответ
  • 1
  • 2

Это зависит от того, на какой платформе вы находитесь. Наиболее распространенный способ сделать это - напечатать 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 для настройки цвета, перемещения курсора и т.д.

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

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

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

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

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

+1561
13 нояб. '08 в 19:25
источник

Связанные вопросы


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

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

from termcolor import colored

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

Или в Python 3:

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

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

+666
16 нояб. '08 в 7:31
источник

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

Пример скриншота Python 3.6: example screenshot

+591
26 июл. '10 в 7:07
источник

Распечатайте строку, которая начинает цвет/стиль, затем строку, а затем завершите изменение цвета/стиля с помощью '\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()

Пример "Свет в темноте" (полный)

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

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

top part of output

+357
14 февр. '14 в 17:56
источник

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

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

Это приводит к следующему в bash, в urxvt с цветовой схемой в стиле Zenburn:

output colors

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

color matrix

Примечание: \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
+149
12 сент. '16 в 14:00
источник

Вы хотите узнать о 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")
+79
13 нояб. '08 в 19:22
источник

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

from blessings import Terminal

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

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

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-последовательности из вашего кода, сохраняя при этом краткость в использовании. Получайте удовольствие!

+59
18 дек. '11 в 0:32
источник

сгенерировал класс со всеми цветами, используя цикл 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'
+50
18 окт. '14 в 23:26
источник

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

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")
+42
23 дек. '15 в 20:20
источник

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')

печатает:

enter image description here

Демо: enter image description here

+38
10 февр. '18 в 17:04
источник

В 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 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)
+28
13 нояб. '08 в 22:22
источник

Глупо прост на основе ответа @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')
+23
18 апр. '15 в 22:18
источник

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

file: 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")
+21
12 июн. '13 в 11:38
источник

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

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

Цвета

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

#
+20
13 нояб. '08 в 19:06
источник

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

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)
+19
17 авг. '16 в 20:01
источник

Основываясь на ответе @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

Скриншот:

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

+18
01 мар. '17 в 10:09
источник

обратите внимание, насколько хорошо ключевое слово with смешивается с такими модификаторами, которые должны быть reset (используя 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")
+17
01 июл. '12 в 0:41
источник

Я использую модуль colorama для цветной печати терминалов в Python. Ссылка здесь http://pypi.python.org/pypi/colorama

Пример кода для печати красного и зеленого текста:

from colorama import *

print(Fore.GREEN + 'Green text')
print(Fore.RED + 'Red text')

Я использовал colorama для написания базовой программы Matrix

Установка на Ubuntu (ваша команда установки дистрибутива может отличаться)

sudo apt-get install python-pip
sudo pip install colorama
+17
13 сент. '13 в 12:24
источник

использует ANSI

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

Сделайте свою функцию: -

def red(name):
    print ("\033[91m {}\033[00m" .format(name))

Функция вызова: -

красный ( "Хороший" ) Good one < - Он будет печатать красным цветом,

Примечание: - не требуется какой-либо модуль

+16
01 июн. '15 в 2:36
источник

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

Также запустите это, и вы найдете свою коробку:

for i in range(255):
    print i, chr(i)
+16
13 нояб. '08 в 19:13
источник

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

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

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

+15
08 янв. '12 в 1:40
источник

Я отвечаю, потому что я нашел способ использовать коды 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 бит)

+14
02 мар. '19 в 3:59
источник

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

print " "+ "\033[01;41m" + " " +"\033[01;46m"  + "  " + "\033[01;42m"
+12
13 нояб. '08 в 19:38
источник

Если вы используете 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 ... ")
+10
25 июн. '12 в 16:59
источник

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:

rainbow-colored text among ascii noise

+10
05 мая '16 в 13:08
источник

YAY! другая версия

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

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

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

enter image description here

Кроме того, вы можете обернуть общие обычаи:

print colors.error('sorry, ')

asd

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

+9
07 февр. '15 в 22:43
источник

Еще один модуль 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'])

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

+9
09 июл. '15 в 6:58
источник

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

color-print-python

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

enter image description here

+9
21 мая '18 в 10:59
источник

Здесь пример curses:

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)
+9
02 июл. '09 в 11:59
источник

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')
+9
26 мар. '13 в 21:15
источник
  • 1
  • 2

Посмотрите другие вопросы по меткам или Задайте вопрос