Forum >> Principianti >> RISOLTO importare dati automaticamente all’apertura di un programma python/tkinter - come si può fare?

Pagina: 1

Salve a tutti.
Sono nuovo di qui e dopo il saluto voglio porvi un quesito.

Sto studiando Python (ovviamente...) e mi trovo ad aver fatto uno script che praticamente è una semplicissima rubrica telefonica con nominativi e numeri telefonici.

Tutto bene per quanto riguarda l'inserimento, il salvataggio e l'apertura del file salvato, ma...

Come posso far sì che all'avvio dello script esso importi automaticamente i dati?

Non riesco a trovare una soluzione e spero che possiate e vogliate aiutarmi.

Una buona giornata a tutti

luigi






--- Ultima modifica di lu in data 2020-06-13 20:15:58 ---
Ciao,



Da quello che hai detto suppongo che tu abbia usato un .txt per salvare i dati, giusto?




Personalmente, ti consiglio di usare un file .json in modo che dopo ti ritrovi ad utilizzare praticamente un arraybdove le chiavi sono i nominativi e i valori sono i numeri ed è tutto molto più semplice.




Per caricare il file puoi usare la seguenti sintassi:




import json
file = json.load(open("path/to/file.json"))
oppure:




import json
source = open("path/to/file.json")
file = json.load(source)



Invece, per leggere il contenuto, il file va trattato come un semplice array:

print(file["chiave"])
# output: "valore"



Infine, per scrivere il contenuto del file, puoi creare un array e, successivamente, inserirlo nel file con il.metodo json.dump():




contatti = {"chiave": valore, "nominativo": numero_telefonico}
json.dump(contatti, file)



Spero di esserti stato utile, ciao

Niccolò
Ciao.
Esatto, in formato testo,

Bon, proverò il tuo suggerimento.

Un saluto

luigi
Ciao,
Scusa, in effetti non ho chiesto una cosa prima: tu sai cos'è il json?
Bè, fino a poco fa no, poi sono andato a vedere e ho trovato che c'è anche qualcosa che è collegato a Python e che il suo acronimo sta per Java Script Object Notation.
Mo me lo studio per bene poi vedo

Però datemi un po' di tempo...

Ciao :)




Ovviamente :),



Comunque, semplicemente, puoi pensare al json come un array che può essere salvato in un file di "testo"
Prima di tutto un saluto :)



Allora, ho risolto in un altro modo, fermo restando il codice che avevo già scritto:

ho creato una nuova funzione per l'importazione dei dati fornendole il percorso in cui si trova lo script e il testo dei dati salvati.

La funzione testè creata chiaramente rispecchia il codice della funzione di apertura file eccetto appunto per la fornitura del percorso.

L'ho richiamata all'inizio del listato e tutto ha funzionato come volevo.

Non so se avrei potuto rendere il tutto più semplice, ma funziona.

Posterei anche il codice ma mi pare talmente troppo elementare che non mi pare il caso.

Comunque grazie per l'aiuto, mi studierò anche json; ma comunque il tutto lo sto facendo per esercizio.

Una buona serata.

Luigi
Ciao Luigi,


L'importante è che funzioni! ;) C'è sempre tempo per trovare soluzioni alternative (più semplici o meno, non esiste la soluzione perfetta né una soluzione "migliore", dipende tutto dai punti di vista). Detto questo, ti consiglio comunque di dare un'occhiata al json perché oggi è molto utilizzato ed è considerato l'alternativa più valida a XML per il salvataggio dati in un'applicazione, sia questa desktop o web, senza usare un database, ma, a differenza di XML, è molto più leggero e, a mio avviso, più semplice (dal momento che, nonostante sia molto intuitiva la struttura ad albero di XML, la struttura ad array di json è già nota ad un programmatore che non viene da un linguaggio di markup, come HTML). Inoltre, come altro vantaggio del json (stavolta relativamente all'ambiente python), posso indicare la maggiore intuitività di interazione fra applicazione e file.

Con questo non voglio offendere nessun fan di XML, voglio solo spiegare perché secondo me json è meglio per piccoli progetti :).




Buona serata,

Niccolò



Pagina: 1



Esegui il login per scrivere una risposta.