[Python] richiesta informazioni su json

roberto.pomoni a gmail.com roberto.pomoni a gmail.com
Mer 18 Dic 2019 23:14:18 CET


Ciao,

direi che in linea generale hai capito bene il funzionamento del codice.
Non definirei JSON "una sorta di database", è solo un formato, usato
perlopiù per interscambio di dati tra le applicazioni, oppure per salvare i
dati su file. Vedi https://www.json.org/json-it.html

Per quanto riguarda il tuo errore, banalmente è dovuto al fatto che hai
salvato il file con il nome "json.py" che collide con il nome del modulo
"json" della standard library. Se cambi il nome del file con qualcosa di
diverso e possibilmente unico, tipo "francesco_json.py" il codice dovrebbe
funzionare senza problemi.

Per approfondire: https://docs.python.org/3.7/tutorial/modules.html

Roberto

On Wed, Dec 18, 2019 at 10:54 PM Francesco Tuccia <suillapingens a gmail.com>
wrote:

> Salve, sto seguendo un semplicissimo corso su Python, e dopo alcune
> lezioni ne ho trovata una dedicata a JSON, una sorta di database. Per
> eseguire l'esercizio viene richiesta l'importazione di json, appunto, e poi
> l'esercizio continua così:
>
> import json
> data = {
>     "Name": "Neil Armstrong",
>     "Age": 82,
>     "Hobbies": ["Aircraft design", "Fishing", "Astronaut"]
> }
> with open ("nealjson", "w") as f:
>     json.dump(data, f)
>
> traducendo dall'inglese capisco che il programma importa la libreria json
> che permette l'utilizzo di json su Python, poi crea un dizionario "data" in
> cui conserva tre valori, la prima chiave è "name" con accanto il valore che
> è il nome dell'astronauta, la seconda è "age" a cui segue il valore 82 e
> l'ultima è "Hobbies" a cui segue come valore la lista che contiene gli
> hobbies di Neil Armstrong. Per creare una "persistent data storage", una
> memoria persistente di dati di questa informazione si utilizza il metodo
> "open" che crea un file "scrivibile", neil.json e la funzione json.dump che
> scriverà il dizionario su quel file in formato json.
>
> Fatto tutto questo ho schiacciato il tasto f5 per eseguire il programma e
> Python ha restituito il seguente messaggio:
>
> Traceback (most recent call last):
>   File "/Users/Francesco/Desktop/json.py", line 1, in <module>
>     import json
>   File "/Users/Francesco/Desktop/json.py", line 8, in <module>
>     json.dump(data, f)
> AttributeError: partially initialized module 'json' has no attribute
> 'dump' (most likely due to a circular import)
>
> Quindi devo dedurre che il modulo json è parzialmente inizializzato e non
> dispone dell'attributo "dump". Volevo chiedere se il motivo è questo oppure
> ho commesso un errore di sintassi nel copiare il codice dal corso che sto
> seguendo.
> Grazie,
> Francy
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20191218/498b0783/attachment.html>


Maggiori informazioni sulla lista Python