[Python-es] Cadena "a=1 b = 2" a diccionario

Oswaldo Hernández listas en soft-com.es
Vie Mar 12 12:32:49 CET 2010


Arnau Sanchez escribió:
> 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.
> 
>> Me gustaría hacerlo de una forma mas pythonica. Estoy intentando hacerlo
>> con expresiones regulares pero me temo que regex no es mi fuerte
> 
> Yo empezaría a jugar con algo así:
> 
> dict(re.findall("(\S+)\s*=\s*(\S+)", s))

Funciona perfectamente!!!, Magia!!!, algún dia me tendrás que explicar 
que significa :)

Gracias.

-- 
Oswaldo Hernández



Más información sobre la lista de distribución Python-es