[pyar] Leyendo archivo de configuración
John Rowland Lenton
john.lenton en canonical.com
Jue Oct 7 11:58:49 ART 2010
On Wed, Oct 06, 2010 at 08:20:09PM -0300, Maximiliano Robaina wrote:
> Hola gente,
>
> ¿Que módulo recomiendan usar para leer archivos de configuración ?
> El archivo de configuración podría tener estructuras de definición como
> por ejemplo un dict por lo tanto, en principio estaría descartado
> ConfigParser.
>
> Entonces, que otras opciones recomiendan ?
>
> - ConfigObj [http://code.google.com/p/configobj/]
> - config [http://www.red-dove.com/config-doc/]
> - json
>
> otros ?
configglue, a full :)
Suponete que tenés un archivo pupo.conf, de la pinta
---8<--(pupo.conf)---
[__main__]
foo = foo_d
[foo_d]
bar = 42
---(fin pupo.conf)---
y el código python
---8<--(pupo.py)---
from pprint import pprint
from configglue.pyschema import (schemaconfigglue, SchemaConfigParser,
DictConfigOption, IntConfigOption, Schema)
# armar el esquema
class MySchema(Schema):
foo = DictConfigOption({'bar': IntConfigOption()},
help="bla bla bla")
parser = SchemaConfigParser(MySchema())
# levantar la config de un archivo; parser hereda de ConfigParer así
# que con esto ya estás
parser.readfp(file("pupo.conf"))
# integrarlo con opciones de línea de comando (opcional!)
op, opts, args = schemaconfigglue(parser)
# op es un OptionParser, opts es su objeto Values, args son los
# argumentos de línea de comandos que no eran opciones
pprint(opts.foo)
---(fin pupo.py)---
esto te da: un esquema en python, con validadores y toda la
huevada. Un archivo de configuración estático y muy sencillo (dato
insólito: a los sysadmins no les gusta ni un poquito configurar
escribiendo en un archivo python). Y te toma valores desde la línea de
comandos, también.
qué no te da: no te da poder cambiar los valores del diccionario desde
línea de comandos. Todavía; La parte del glue para DictConfigOptions
no está hecha.
no te toma opciones de variables de entorno, todavía.
Por eso no le pusimos "1.0".
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20101007/73eb7e95/attachment.sig>
More information about the pyar
mailing list