> 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