Andrea Quaglia ha scritto:
Sicuro di aver indentato così? self.file25 = open(r"C:\Users\Tizio\Desktop\Log.txt","a")
for row in range(self.list_ctrl.GetItemCount()):
self.file25.write(" - ".join([self.list_ctrl.GetItem(row, col).GetText() for col in range(self.list_ctrl.GetColumnCount())])+ '\n')
self.file25.close()
Questa indentazione dovrebbe darti un ValueError dopo la prima scrittura.
Se comunque funziona, allora significa che o c'è un elemento in più nella ListCtrl, o c'è qualcosa che viene ritornato due volte. Prova ad usare un debugger o a stampare i risultati ritornati da self.list_ctrl.GetItemCount().
Ti ringrazio per la risposta, per quanto riguarda l'indentazione ti garantisco che è corretta nel mio editor.
Inoltre ho provato il tuo consiglio ma se eseguo un print di self.list_ctrl.GetItemCount()) quello che ottengo è un numero (crescente) per ogni volta che inserisco un dato nella listCtrl. Ti allego un esempio:
Questi risultati di esempio stampati nella shell inserendo i 3 dati .
prova - 08:05:25 - 08:06:25 (Questo è un print di una variabile che mi sono creato che contiene i 3 valori)
1 il risultato di print (self.list_ctrl.GetItemCount())
prova 2 - 08:05:32 - 08:06:32 (Questo è un print di una variabile che mi sono creato che contiene i 3 valori)
2 il risultato di print (self.list_ctrl.GetItemCount())
prova 3 - 08:05:36 - 08:06:36 (Questo è un print di una variabile che mi sono creato che contiene i 3 valori)
3 il risultato di print (self.list_ctrl.GetItemCount())
Un altro esempio del risultato che ottengo:
aaa --> inserito solo 1 volta me lo scrive 2 volte nel file.txt
dddd --> inserito solo 1 volta
RISULTATO:
aaa - 08:11:13 - 08:12:13
aaa - 08:11:13 - 08:12:13
dddd - 08:11:15 - 08:12:15
Secondo me c'è qualche errore nel codice del For per il salvataggio.