Forum
>>
Principianti
>>
scrivere / leggere dati su/da file e gestirli in classi
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da trescon |
2018-07-16 11:25:42 - scrivere / leggere dati su/da file e gestirli in classi
|
Salve a tutti, io sto lavorando ad un programma che prevede la lettura di circa 150 checkbutton suddivise in 18 gruppi da 8 selezioni.
La maschera e le selezioni sono state gestite con delle classi. Il problema degli ignoranti arriva adesso, io devo salvare le selezioni delle 150 caselle in un file , per poi successivamente quando serve andare a recuperare le selezioni per poterle eventualmente modificare. Non ho idea di come si possa fare. Accetto MOLTI suggerimenti, se qualcuno a voglia di darmi una mano. Grazie Alberto ------
Alberto |
|
Scritto da Daniele aka Palmux |
2018-07-28 15:48:27 - Re: scrivere / leggere dati su/da file e gestirli in classi
|
Ciao caro, non so se ho capito bene, comunque ti consiglio di usare un database, SQLite per facilità.
Cya |
|
Scritto da trescon |
2018-07-28 20:12:50 - Re: scrivere / leggere dati su/da file e gestirli in classi
|
Grazie Daniele, ci avevo già fatto un pensierino ma non so da dove partire, per gestire il salvataggio su db dei dati dalle classi.
La mia confidenza con le classi è uguale alla confidenza con i db .... veramente bassa. Comunque proverò a buttare giù qualcosa e poi lo posterò per suggerimenti/ ottimizzazioni. Intanto grazie Ciao Alberto ------
Alberto |
|
Scritto da Daniele aka Palmux |
2018-07-29 10:52:52 - Re: scrivere / leggere dati su/da file e gestirli in classi
|
Apprendere l'utilizzo di un database, anche relativamente semplice come SQLite, farà di te un programmatore migliore e più versatile. Non averne paura, anzi consideralo come un compagno di viaggio. Alla fine si tratta di salvare informazioni testuali e di capirne le logiche di utilizzo, non altro.
Buon divertimento. |
|
Scritto da trescon |
2018-07-30 17:05:35 - Re: scrivere / leggere dati su/da file e gestirli in classi
|
Salve a tutti, come suggerito da Daniele ho provato a vedere cosa riesco a fare con le classi.
Il codice allegato crea il database , le 4 tabelle e crea un record x tabella. Io ho pravato a impostare il "come" scrivere i dati della classe , ma mi da un errore di tipo. Ci sto provando da 2 gg e mi sono rotto i corni a furia di dare testate al muto. Non so piu' cosa provare. Cerco aiuto ..... Grazie Allego link al mio codice : https://pastebin.com/7WbahfXD + https://pastebin.com/d20FmHGc Saluti Grazie Alberto --- Ultima modifica di trescon in data 2018-08-08 15:16:25 --- ------
Alberto |
|
Scritto da trescon |
2018-08-07 15:15:29 - Re: scrivere / leggere dati su/da file e gestirli in classi
|
Aiuto !! , in questa calda estate nessuno (essendo quindi costretto a stare al fresco di un clima) mi da un suggerimento ?
Grazie ------
Alberto |
|
Scritto da Daniele aka Palmux |
2018-08-09 17:07:09 - Re: scrivere / leggere dati su/da file e gestirli in classi
|
Ciao caro, ti ho aggiunto e modificato un po' di cosette, ma tieni presente che:
1. Ho cercato di non cambiare troppo il tuo codice, in modo da non disorientarti, ma non è detto che quanto lasciato sia la soluzione migliore. Ci sono molte ripetizioni ad esempio, che eviterei; 2. Non usare il codice in produzione, è fatto solo per farti partecipe dei vari passaggi, il tutto andrebbe aggiustato ed anzi passerei al punto 3; 3. Ti consiglio caldamente l'uso di un wrapper per l'interazione col DB, ce ne sono anche di leggerissimi. Te lo copio/incollo qui sotto, ma se preferisci trovi tutto anche qui... #Testato con Python 3.5.2 import sqlite3 # Prova_db_presepe class PRESEPE_SALVA: def __init__(self, database = "presepe.db"): self.database = database self.connection = sqlite3.connect(database) self.cur = self.connection.cursor() def close(self): """chiudi la connessione a sqlite3""" self.connection.close() def __execute(self, data): """esegui i dati passati con data""" v = self.cur.execute(data) return v def __commit(self): """commit al database""" self.connection.commit() def presepe_salva(self, *args): # Crea tabella se non esistenti self.__execute('''CREATE TABLE IF NOT EXISTS scheda_1 (evento TEXT, time TEXT, rele_8 TEXT, rele_7 TEXT, rele_6 TEXT,rele_5 TEXT,rele_4 TEXT,rele_3 TEXT,rele_2 TEXT,rele_1 TEXT)''') self.__execute('''CREATE TABLE IF NOT EXISTS scheda_2 (evento INTEGER, time INTEGER, rele_8 INTEGER, rele_7 INTEGER, rele_6 INTEGER,rele_5 INTEGER,rele_4 INTEGER,rele_3 INTEGER,rele_2 INTEGER,rele_1 INTEGER)''') self.__execute('''CREATE TABLE IF NOT EXISTS scheda_3(evento INTEGER, time INTEGER, rele_8 INTEGER, rele_7 INTEGER, rele_6 INTEGER,rele_5 INTEGER,rele_4 INTEGER,rele_3 INTEGER,rele_2 INTEGER,rele_1 INTEGER)''') self.__execute('''Create TABLE IF NOT EXISTS scheda_4 (evento INTEGER, time INTEGER, rele_8 INTEGER, rele_7 INTEGER, rele_6 INTEGER,rele_5 INTEGER,rele_4 INTEGER,rele_3 INTEGER,rele_2 INTEGER,rele_1 INTEGER)''') # Inserisco i dati proveniente dall'istanza self.cur.executemany("INSERT INTO scheda_1 VALUES (?,?,?,?,?,?,?,?,?,?)", (args,)) # Dati inseriti manualmente (consiglio di astrarli) self.__execute("INSERT INTO scheda_2 VALUES (1,50,60,61,60,61,61,60,61,61)") self.__execute("INSERT INTO scheda_3 VALUES (1,70,60,60,61,60,61,61,60,61)") self.__execute("INSERT INTO scheda_4 VALUES (1,90,61,61,60,61,60,60,61,60)") # Commit self.__commit() def test(self, scheda): """test per vedere se ci sono dati nella tabella passata""" try: for row in self.__execute("SELECT * FROM {} ORDER BY time".format(scheda)): print(row) except TypeError: print("Nessun dato presente nella tabella {}".format(scheda)) except sqlite3.OperationalError: print("Tabella {} non esiste".format(scheda)) #Ok, ora proviamo il lavoro pos = PRESEPE_SALVA() pos.presepe_salva(1,20,61,61,61,60,60,61,60,60) #passo i tuoi dati qui pos.test("scheda_1") pos.test("scheda_2") pos.test("scheda_3") pos.test("scheda_4") pos.test("scheda_5") #Solo per provare pos.close()Ciao e buone prove... |
Pagina: 1
Esegui il login per scrivere una risposta.