| Ficheros de configuración en Python |
|
|
| martes, 25 de octubre de 2005 | |||||
|
Cualquier programa que no sea muy siemple, necesita almacenar valores relativos a su configuración. Es conveniente siempre, que esta información se almacene en ficheros de texto que puedan ser leídos y editados por el usuario. Python proporciona el módulo ConfigParser que permite leer ficheros de configuración sin esfuerzo y con muy poco código. A continuación se muestra un ejemplo de fichero de configuración en la sintaxis que acepta ConfigParser: [FTP] ;Information about the FTP Server FTPHost=myftp.ftp.com FTPPort=22 FTPUser=myuser FTPPass=mypass FTPBaseDir=/ftp/pub [Logging] ;Loggin options LogLevel=INFO FileLogDir=/home/myuser/log El formato es bastante claro. Las líneas precedidas de ';' serán comentarios, las etiquetas entre '[' ']' serán cabeceras de sección y las cadenas a la izquierda del signo '=' serán las opciones. Es el mismo formato que ciertos ficheros de configuración de windows. Veamos ahora código de Python que lea algunos de estos valores. En muy pocas líneas se consigue lo que en otros lenguajes puede llevar cientos: #!/usr/bin/env python import os, ConfigParser CONFIG='config.cfg' def run(): cfg = ConfigParser.ConfigParser() try: cfg.readfp(file(CONFIG)) except Exception, e: print "Error, couldn't read config ", e.strerror return ftp_host = cfg.get ('FTP', 'FTPHost'.lower()) print ftp_host <p> </p> try: ftp_port = int(cfg.get('FTP','FTPPort'.lower())) except: print 'Incorrect value for FTPPort parameter' print 'Port 22 will be used' ftp_port = 22 print ftp_port log_level = cfg.get ('Logging', 'LogLevel'.lower()) print log_level return if __name__ == '__main__': run() Como se observa, se instancia primero un objeto de ConfigParser que a través del método readfp carga un fichero de configuración. A través del método get y pasándole la sección y la opción (en minúsculas) como parámetro obtenemos el valor de esa opción. Más sencillo, imposible.
Powered by AkoComment 2.2 *** SecurityImage 2.2.0 |
| < Anterior | Siguiente > |
|---|
| mi lugar | ||||
|---|---|---|---|---|
|
| Temas |
|---|
|
mi lugar Actualidad Nintendo DS Cine Televisión Videojuegos Libros Erotismo Ciencia Tecnología Joomla Música Humor Python |
| Frase de hoy |
|---|
|
“La honestidad no es una virtud, es una obligación” |
| Busca en milugar.net |
|---|
| Lo más comentado |
|---|
|
Resident Evil 4 (194 comments) ¿Quién Eres? (179 comments) Convierte tu PC Linux en un sistema de Predicción Meteorológica (127 comments) ¿Como serías en South Park? (75 comments) Crímenes perfectos (56 comments) Cómo hacer una hamburguesa (39 comments) Pelis tontas, comedias románticas y él... (37 comments) Corazón en Venta (34 comments) |
| Últimos comentarios | |||||||
|---|---|---|---|---|---|---|---|
|
| Productos Google |
|---|
|
|
| Hay 11 invitados en línea |
