[Python] richiesta informazioni su json

Francesco Tuccia suillapingens a gmail.com
Gio 19 Dic 2019 07:34:11 CET


Grazie Roberto, sei stato gentilissimo!

Il 18/12/19, roberto.pomoni a gmail.com<roberto.pomoni a 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 <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
>>
>


Maggiori informazioni sulla lista Python