[Python] Parsing di un file ldif invalido

Marco Giusti marco.giusti a posteo.de
Mer 14 Set 2022 15:36:35 CEST


On 14.09.2022 14:55, Valerio Pachera wrote:
> Buongiorno a tutti, ho la seguente esigenza: parsare un file ldif
> prodotto dall'esportazione di una rubrica di Thunderbird.
> 
> Prendiamo questo ldif come esempio:
> ---
> 
> dn: cn=Mario Rossi,mail=mario.rossi a domain.com
> objectclass: top
> objectclass: person
> objectclass: organizationalPerson
> objectclass: inetOrgPerson
> objectclass: mozillaAbPersonAlpha
> givenName: Mario Rossi
> cn: Mario Rossi
> mail: mario.rossi a domain.com
> modifytimestamp: 1632815299
> ---
> 
> E il codice necessario per fare il parsing:
> ---
> #!/usr/bin/env python3
> 
> import sys
> from ldif3 import LDIFParser
> 
> ldif_path = sys.argv[1]
> 
> with open(ldif_path, 'rb') as ldif_file:
>     parser = LDIFParser(ldif_file)
> 
>     for dn, entry in parser.parse():
>         print(dn, entry['cn'])
> ---

#!/usr/bin/env python3

import sys
from ldif3 import LDIFParser

ldif_path = sys.argv[1]

with open(ldif_path, 'rb') as ldif_file:
     parser = LDIFParser(ldif_file)

     for dn, entry in parser.parse():
         try:
             print(dn, entry['cn'])
         except ValueError:
             continue




Maggiori informazioni sulla lista Python