ejemplo de plantillas

Arnau Sanchez pyarnau en gmail.com
Mar Mayo 27 20:38:13 CEST 2008


Chema Cortes escribió:

> Pues yo lo primero que pensé es en que se podía usar el "print >>", algo así:
> 
> from cStringIO import StringIO
> 
> res=StringIO()
> 
> print >>res, "linea de codigo"
> print >>res, "\tuna linea de codigo que usa un argumento: %s" % arg2
> file("salida.txt","w).write(res.getvalue())

Pues sí, StringIO es perfecto para algo así (aunque personalmente no me gusta 
nada el operador ">>" y usaría la función res.write o un alias más corto)

> De todos modos, estoy de acuerdo en que se debería evitar usar una
> lista como almacenamiento intermedio de las líneas de texto.

Ya que estamos dando alternativas, se podría usar un generador. No es muy 
flexible, pero en fin, ahí queda:

def generador(arg1, arg2):
     yield "una linea"
     yield "otra linea"

file("/tmp/a", "w").writelines("%s\n" % line for line in generador())
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es