[Python-es] ejemplo de plantillas
Pablo Rodríguez
oinos en web.de
Lun Mayo 26 21:26:02 CEST 2008
Gracias por la respuesta, Chema.
Chema Cortes wrote:
> El día 26 de mayo de 2008 19:03, Pablo Rodríguez escribió:
>
>> hace unos días hice una pregunta sobre un pequeño programa que genera un
>> script para generar Flash con swfc (que no he actualizado en su versión
>> en red http://ousia.justfree.com/iracconshow.txt).
>>
>> Arnau me sugirió que usase una plantilla para el código de swfc (si no
>> he entendido mal) porque mi código está infestado de filebuffer.append.
>>
>> [...]
>
> No he seguido la anterior conversación, pero te puedo sugerir usar
> algo tan simple como el operador de formato '%'. Toda la "plantilla"
> la expresas como una cadena multilínea (las que empiezan y acaban por
> triple comillas), e introduce en ella las variables de sustitución que
> desees mediante el indicativo %s.
>
> Yo suelo introducir las variables de sustitución en diccionarios, algo
> bastante cómodo si quieres luego reutilizar las mismas variables a lo
> largo del código. Por ejemplo:
>
> host_conf=""" host %(name)s {
> fixed-address %(ip)s; #%(comment)s
> hardware ethernet %(mac)s;
> }"""
>
> params={ "name": "homer", "comment":"Servidor Local",
> "ip":"10.0.0.100", "mac":"02:00:00:00:00:50" }
>
> res_txt=host_conf % params
>
> file("output.txt","w").write(res_txt)
Bien, mi pregunta es sencilla.
¿Puedo sustituir las variables de sustitución por lo que en el resto del
código son a su vez otras variables?
Y esto me interesa mucho, ¿puedo hacer que la plantilla no esté en el
mismo archivo, sino en otro distinto? ¿Cómo sería el ejemplo en este caso?
Gracias de nuevo,
Pablo
Más información sobre la lista de distribución Python-es