Grazie Roberto, sei stato gentilissimo!
Il 18/12/19, roberto.pom...@gmail.com<roberto.pom...@gmail.com> ha scritto: > 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 <suillaping...@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@lists.python.it >> https://lists.python.it/mailman/listinfo/python >> > _______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python