Scrivere su file ciò che viene inserito in input (tkinter)

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.

Fabio Masiello

Nuovo Utente
Messaggi
48
Reazioni
1
Punteggio
25
Voglio che il mio programmino restituisca cià che immetto in input (utilizzando tkinter gui) in un file di testo.

Python:
import tkinter

def interfacciaGui():
    import tkinter as programmino
    root = programmino.Tk()
    root.title("Gestione secondo appuntamento")
    root.resizable(False,False)
def finegui():
    tkinter.mainloop()
def comando():
    with open("SGA.txt","a") as foglio:
        foglio.write(a)

interfacciaGui()

tkinter.Label(text="Nominativo").grid(column=0,row=0)
a = tkinter.Entry().grid(column=1,row=0)


tkinter.Label(text="Indirizzo").grid(column=0,row=1)
tkinter.Entry().grid(column=1,row=1)

tkinter.Label(text="Numero").grid(column=0,row=2)
tkinter.Entry().grid(column=1,row=2)

tkinter.Label(text="Altro").grid(column=0,row=3)
tkinter.Entry().grid(column=1,row=3)

bottone = tkinter.Button(text="Esegui",command=comando).grid(column=1,row=4)

finegui()


L'errore che mi restituisce è il seguente

Codice:
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\fabio\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1921, in __call__
    return self.func(*args)
  File "C:\Users\fabio\PycharmProjects\Progettino.py", line 12, in comando
    foglio.write(a)
TypeError: write() argument must be str, not None
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\fabio\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1921, in __call__
    return self.func(*args)
  File "C:\Users\fabio\PycharmProjects\Progettino.py", line 12, in comando
    foglio.write(a)
TypeError: write() argument must be str, not None
 
Ultima modifica da un moderatore:
Ti ho aggiunto il tag CODE e modificato il titolo; la prossima volta usa il tag CODE, e dai un titolo esplicativo, grazie. ?

Comunque non conosco Python, ma l'errore mi sembra piuttosto chiaro: non esiste 'a' che stai passando a write.
 
Scusa, ma questo è esattamente lo stesso problema di cui hai già chiesto in questa tua discussione:

Il metodo ‘comando’ richiede un parametro di tipo stringa, ti abbiamo già spiegato come fare (io stesso ti ho proposto due soluzioni, lasciando a te la scelta)
 
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top