> Il giorno 21 dic 2016, alle ore 13:02, Marco Beri <[email protected]> ha
> scritto:
>
> 2016-12-21 13:00 GMT+01:00 Marcello <[email protected]>:
> 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
[email protected]
http://lists.python.it/mailman/listinfo/python