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..
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a