Formateo de cadenas
Oscar Merchan
o.merchan en bussitel.es
Mie Jun 30 10:34:48 CEST 2004
On Wed, 30 Jun 2004 09:43:16 +0200
Julio Canto <jcanto en hispasec.com> wrote:
Buenas.
Yo lo que utilizo para hacer eso, son los codigo ansi, que los puedes utilizar sin problemas con el print de la siguiente manera .-
print "\033[5;2H","Lo que quieras poner"
Con esto, el texto saldria en la fila 5, columna 2.
Para el color del texto, utilizo una receta que encontre por inet, que es la siguiente .-
import os, tty, termios
enable_color = 1
hotkeycol = "red"
colors = {
"black" : "30",
"red" : "31",
"green" : "32",
"brown" : "33",
"blue" : "34",
"purple" : "35",
"cyan" : "36",
"lgray" : "37",
"gray" : "1;30",
"lred" : "1;31",
"lgreen" : "1;32",
"yellow" : "1;33",
"lblue" : "1;34",
"pink" : "1;35",
"lcyan" : "1;36",
"white" : "1;37",
"lyellow" : "43"
}
def color(text, fg, bg=None, raw=0):
if not enable_color:
return text
if type(fg) in (TupleType, ListType):
fg, bg = fg
if not fg:
return text
opencol = "\033["
closecol = "m"
if raw:
opencol = r"\[\033["
closecol = r"m\]"
clear = opencol + "0" + closecol
xterm = 0
if os.environ["TERM"] == "xterm":
xterm = 1
b = ''
# In xterm, brown comes out as yellow..
if xterm and fg == "yellow":
fg = "brown"
f = opencol + colors[fg] + closecol
if bg:
if bg == "yellow" and xterm:
bg = "brown"
try:
b = colors[bg].replace('3', '4', 1)
b = opencol + b + closecol
except KeyError:
pass
return "%s%s%s%s" % (b, f, text, clear)
Y la forma de utilizarlo junto con el codigo ansi seria mas o menos asi .-
print "\033[5;2H"+color("Texto que quieras poner","cyan")
Con esto el texto te saldria en cyan, y si quieres ponerle tambien color en background seria .-
color("Texto que quieres poner","cyan","red")
Quizas esta forma no estan limpia como utilizar las curses, pero si mas standar para cualquier version de python.
Saludos, Oscar Merchan.
> lars wrote:
>
> >Hola, quisiera hacerles un par de preguntas... lo primero, saber si hay
> >alguna funcion para posicionar texto en cualquier parte de la pantalla,
> >algun "locate" o algo parecido, la segunda, se puede colorear el texto
> >en python? Gracias
> >
> >
> Existe un modulo llamado curses que sirve para eso. En Windows uso una
> libreria llamada wconio que no es tan potente, pero a falta de pan :D
> Un saludo,
> JC
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es