Ricardo Cárdenes Medina escribió:
2010/3/12 Arnau Sanchez <pyar...@gmail.com>:
On 12/03/10 11:54, Oswaldo Hernández wrote:
"dbname=bd user = usuario host= 192.168.22.5"
Quiero convertirla a diccionario de forma que quede:
{"dbname":"bd", "user":"usuario", "host":"192.168.22.5"}
Lo estoy haciendo de una forma bastante burda: elimino espacios a los
lados del signo '=', luego separo los pares con split, ...
A falta de ver el código, yo diría que es lo suficientemente pythonica.
Ídem. A menos que alguno de los valores contenga espacios en sí mismo,
me parece suficiente. Otra cosa es la manera exacta en que lo haga.
Por ejemplo:
s = "dbname=bd user = usuario host= 192.168.22.5"
partes = []
for x in s.split('='):
partes.extend(x.split())
d = dict(zip(partes[0::2], partes[1::2]))
hace el trabajo correctamente y sin la complicación de las expresiones
regulares..
Si, el codigo es bastante mas pythonico del que habia hecho yo, pero es
que lo del regex, aunque no lo termino de pillar, me tiene absolutamente
fascinado ;)
Gracias.
--
Oswaldo Hernández
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/