Нет: программы, которые используют проклятия, не отправляют escape-последовательности. Вместо этого они передают строки и атрибуты. Библиотека curses объединяет их и отправляет escape-последовательности.
В интерфейсе C для проклятий, которые можно было бы сделать за характера путем OR'ing атрибут на chtype
значений (или упаковки cchar_t
с помощью setcchar
). В качестве альтернативы, можно установить атрибут в окне и написать строку, используя этот атрибут, с помощью addstr
.
Python обеспечивает (согласно его documentation) a различным интерфейсом к addstr
. Раздел Attributes and Color показывает этот пример:
stdscr.addstr(0, 0, "Current mode: Typing mode", curses.A_REVERSE)
добавить обратную строку-видео, а это:
stdscr.addstr("Pretty text", curses.color_pair(1))
, чтобы добавить строку, используя цветовую пару # 1. Цветные пары сочетают передний план (текст) и цвета фона.
интерфейс Python для изменения окна атрибутов больше напоминает интерфейс C: он обеспечивает attrset
, attron
, bkgd
методы, как показано в документации для Window Objects.
В качестве общей рекомендации, вы бы не получить хорошие результаты, написав свои собственные управляющие последовательности непосредственно (минуя библиотеку проклятия):
- проклятий используют свою собственную буферизацию вывода, который не может быть подключен к стандартному (так что вещи могут быть записаны в неожиданном порядке)
- Если вы написали что-то, что изменило внешний вид экрана, проклятия не знали бы об этом, и результат не был бы полезен.
Нужно ли использовать 'addstr' или вы можете использовать некоторые API? –