[pyar] Custom format a la datetime

Marcos Dione mdione en grulic.org.ar
Dom Abr 19 07:29:14 ART 2015


On Sat, Apr 18, 2015 at 04:02:41PM -0300, Santiago Basulto wrote:
> Hola gente. Tengo un programa CLI que busca "cosas". Quisiera darle al
> usuario la posibilidad de formatear los resultados. Existe algún módulo que
> me permita formatear de manera similar al módulo datetime?
> 
> Ejemplo:
> 
>     from datetime import datetime
>     d = datetime.utcnow()
>     d.strftime("%Y-%m-%d")  # '2015-04-18'
>     d.strftime("%y-%m-%d")  # '15-04-18'
>     d.strftime("Hoy es el %d de %m de %Y") # 'Hoy es el 18 de 04 de 2015'
> 
> 
> Ejemplo con mi aplicación. Suponiendo que busca autos:
> 
>     python buscar_autos.py -F "Marca %M, modelo %m, año %Y"  # Marca Ford,
> modelo fiesta, año 1996
>     python buscar_autos.py -F "%M - %m (%y)"  # Ford - Fiesta (15)
> 
> Dsp tendría una tabla así:
> %M = Marca
> %m = Modelo
> %Y = Año formato YYYY
> %y = Año formato YY
> %c = nombre concesionario
> ... etc...
> 
> Gracias por la ayuda!

    Hola Santi. Más allá de la versión obvia con format() y diccionarios
que pasaron los chicos, una vez me hice una cosa así donde podías tener
expansión condicional; o sea, que un elemento del markup se imprimiera
sólo si la variable referenciada existe. Así, en

u"{%artist}/{%4year - }{%album}/{Disk %02diskno}/{%02trackno - }{%title}")

    {%4year - } expande sólo si year tiene un valor, aunque la condición
se podría modificar. Y lo mismo para el resto. Esto es para darte una
idea de otras opciones un poco mas complejas o avanzadas, pero si te
interesa el código está acá:

https://github.com/StyXman/satyr/blob/master/satyr/utils.py#L64


More information about the pyar mailing list