Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 28, 2017 13:39:47

Schlange
Зарегистрирован: 2016-11-28
Сообщения: 38
Репутация: +  1  -
Профиль   Отправить e-mail  

Цветной вывод в консоли linux

 for fore in range(30, 48):
    if fore < 38 or fore > 39:
        text = 'text-' + str(fore) + ' '
        print('\033[1;'+ str(fore) + 'm' + text + '\033[1;m', end='')

Вот вывод всех известных мне цветов.

Но для цветного фона я знаю только один цвет текста - белый. А как быть, если я хочу сам свободно задавать цвет букв и цвет фона? Какие коды использовать? Например черный на голубом, жёлтый на красном? Такое возможно?

А так же, как выводить псевдографику для рисования таблиц?



ubuntu 14.04 / manjaro 16.10

Отредактировано Schlange (Апрель 28, 2017 13:40:15)

Офлайн

#2 Апрель 28, 2017 14:12:39

krok64
Зарегистрирован: 2017-04-04
Сообщения: 75
Репутация: +  11  -
Профиль   Отправить e-mail  

Цветной вывод в консоли linux

Есть библиотека для этого Curses
https://docs.python.org/3/library/curses.html#module-curses

Офлайн

#3 Апрель 28, 2017 16:02:07

Schlange
Зарегистрирован: 2016-11-28
Сообщения: 38
Репутация: +  1  -
Профиль   Отправить e-mail  

Цветной вывод в консоли linux

Вопрос про цвета частично снят.
https://habrahabr.ru/post/94647/

Есть ещё и colorama, но библиотеки использовать для таких элементарных вещей не хочу.


Какая разница, как записывать:

\x1b[31m
\033[1;31m

Ведь вызов ANSI последовательностей идёт и по 27 (1b) и по 33 кодам?
Или 033 это запись в Octal?


Сделал print(ord('\x1b'), ord('\033')) и понял сам.



ubuntu 14.04 / manjaro 16.10

Отредактировано Schlange (Апрель 28, 2017 16:11:02)

Офлайн

#4 Апрель 28, 2017 16:36:11

Schlange
Зарегистрирован: 2016-11-28
Сообщения: 38
Репутация: +  1  -
Профиль   Отправить e-mail  

Цветной вывод в консоли linux

А можно ли менять позицию курсора анси кодами в питоне?
А ля консольное: tput cup 23 4



ubuntu 14.04 / manjaro 16.10

Офлайн

#5 Апрель 28, 2017 18:24:24

Schlange
Зарегистрирован: 2016-11-28
Сообщения: 38
Репутация: +  1  -
Профиль   Отправить e-mail  

Цветной вывод в консоли linux

print('{blue}Текст будет голубым{endcolor}'.format(blue='\033[96m', endcolor='\033[0m'))

Вот откуда взялось число \033[96m
когда в таблице по man console_codes до 49го только?



ubuntu 14.04 / manjaro 16.10

Офлайн

#6 Апрель 28, 2017 18:59:11

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Цветной вывод в консоли linux

Вот еще пара примеров, как менять цвет текста и фона:

 print('\033[1;31mЭтот текст красный,\033[1;33mэтот желтый,\033[0m а этот по умолчанию')
print('\x1b[6;30;42m' + 'Hello' + '\x1b[0m' + ' world')

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version