> Il giorno 21 dic 2016, alle ore 13:02, Marco Beri <marcob...@gmail.com> ha 
> scritto:
> 
> 2016-12-21 13:00 GMT+01:00 Marcello <marce...@linuxvil.it>:
> La stringa che gli do in pasto contiene varie configurazioni suddivise in 2 o 
> 3 righe e a volte mi mette dopo un '=' una '\'  esempio 'password=\' e va a 
> capo con la password_letta.
> Quando il codice incontra questo  problema il valore assegnato al dizionario 
> risulta errato 'password': '\\\r\n'.
> Si può risolvere.
> 
> Marcello,
> se l'ultima frase qui sopra è una affermazione, bravo, buon lavoro.
> 
> Se invece è una domanda, io sostituirei tutti gli "=\n" con "=" nella 
> variabile.



Che belli gli oneliner :)

>>> [dict( [(k,v) for k,v in [hostline.split('=') for hostline in host.split(' 
>>> ') if '=' in hostline] if k in ('name', 'remote-address', 'password')]) for 
>>> host in hosts.replace('=\n','=').split('\n')]

 
[{'name': 'nome1', 'password': 'passwd1', 'remote-address': '10.172.33.2'},
 {'name': 'nome2', 'password': 'passwd2', 'remote-address': '10.172.33.2'},
 {'name': 'nome3', 'password': 'passwd3', 'remote-address': '10.172.34.38'},
 {'name': 'nome4', 'password': 'passwd4', 'remote-address': '10.172.34.46'},
 {'name': 'nome5', 'password': 'passwd5', 'remote-address': '10.172.34.50'},
 {'name': 'nome6', 'password': 'passwd6', 'remote-address': '10.172.34.54'}]


:D


G
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a