<div dir="ltr">import pprint<div><br></div><div>pprint.pprint(data)</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno mar 30 mar 2021 alle ore 17:35 Yuri <<a href="mailto:yurj@alfa.it">yurj@alfa.it</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Salve,<br>
<br>
  mi piacerebbe qualcosa di interattivo, attualmente uso già prettyprint <br>
e pp in pdb. I dati sono nativi, tranne una classe che ho creato. L'idea <br>
era quella di avere uno strumento che permetta di "aprire/chiudere" i <br>
nodi della struttura dati, ed esplorarla.<br>
<br>
In effetti, per ora, potrei fare un dump in json (rendendo la mia classe <br>
serializzabile in JSON usando <a href="https://stackoverflow.com/a/41200652" rel="noreferrer" target="_blank">https://stackoverflow.com/a/41200652</a>) e <br>
utilizzare un editor di testo con supporto JSON. Grazie del suggerimento!<br>
<br>
def serialize(obj):<br>
     """JSON serializer for objects not serializable by default json code"""<br>
<br>
     if isinstance(obj, Arianna):<br>
         return obj.titles<br>
<br>
(Pdb) !w = json.dumps(ead.archive, sort_keys=True, indent=2, <br>
default=serialize)<br>
(Pdb) !a = open('/tmp/orto.json', 'w')<br>
(Pdb) !a.write(w)<br>
86489<br>
(Pdb) !a.close()<br>
<br>
<br>
Il 30/03/21 15:26, <a href="mailto:a.cavallo@cavallinux.eu" target="_blank">a.cavallo@cavallinux.eu</a> ha scritto:<br>
> Se i dati sono nativi (liste, tuple, ineri, float etc.) puoi usare:<br>
>    print(json.dumps(oggetto, sort_keys=True, indent=2))<br>
><br>
> On Tuesday, March 30, 2021 04:27 EDT, Yuri <<a href="mailto:yurj@alfa.it" target="_blank">yurj@alfa.it</a>> wrote:<br>
>   <br>
>> Salve,<br>
>><br>
>>    avrei bisogno, ai fini di debug/controllo, poter visualizzare una<br>
>> struttura dati con molti elementi. Tipicamente sono dizionari e liste<br>
>> annidate, alcune con pochi elementi, altri con molti, fino a 5/6 livelli<br>
>> di annidamento. Alcune liste possono essere molto lunghe con centinaia o<br>
>> migliaia di elementi. La classica soluzione con i [+] per espandere i<br>
>> vari nodi della struttura va bene.<br>
>><br>
>> Ho visto che pudb ha uno strumento simile (*) ma la finestra è piccola e<br>
>> dopo un po' diventa complesso navigare la struttura. Va bene sia uno<br>
>> strumento a caratteri che uno grafico, con preferenza a caratteri se<br>
>> possibile.<br>
>><br>
>><br>
>> (*) interessante anche perché permette di scegliere la funzione che<br>
>> rappresenta l'oggetto. Su pudb:<br>
>> <a href="http://heather.cs.ucdavis.edu/~matloff/pudb.html" rel="noreferrer" target="_blank">http://heather.cs.ucdavis.edu/~matloff/pudb.html</a><br>
>><br>
>> _______________________________________________<br>
>> Python mailing list<br>
>> <a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
>> <a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">https://lists.python.it/mailman/listinfo/python</a><br>
> _______________________________________________<br>
> Python mailing list<br>
> <a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
> <a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">https://lists.python.it/mailman/listinfo/python</a><br>
_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
<a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">https://lists.python.it/mailman/listinfo/python</a><br>
</blockquote></div>