Portál AbcLinuxu, 26. dubna 2024 18:22
zdravím, narazil jsem na jeden problem.
Zkusebne mi na localhostu bezi testovaci server na ktery se napojuji pomoci telnetu a se kterym
komunikuji asynchrone pomoci async_chat modulu.nedavno jsem dodelaval zobrazovani polozek
barevne ( to funguje ) ale nemohu prijit na to jakou escape sekvenci vycistit terminal. Cetl jsem ze nejak
takhle "^][2j" kde ^] je escape znak ale nejak to nefunguje. potrebuju vycistit terminal po zaslani tohohle prikazu
pomoci "async_chat.push()".
kdyz chci neco cervene:
async_chat.push('\033[31m%s\033[30m' % result) # červena
async_chat.push('\033[0;0m') # reset
ale jak tam nacpat ten clear terminalu jsem jeste vevygooglil :(
za kazdou pomoc dik. escape sequence u me na gnome-terminalu ^].
Nikdy jsem nezkoušel, ale nešel by použít std modul curses, který tyhle příšerné escape sekvence obaluje svým API?
možná šlo ale bylo by potřeba určitě napsat extra klienta.
[2J
async_chat.push('^][2J') .... nefunguje
async_chat.push('\x01B[2J') ... nefunguje
async_chat.push('\033[2J') ... po delsim cteni manualu zabralo :)
díky za nakopnutí. o tomhle jsem nevěděl. pomohlo to v mnoha dalších věcech. spolu se starým Amiga manuálem pro ANSI se mi to hodilo.
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.