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