haben Hallo dies ist mein Code:Python - Typeerror: Argument muss ein "Write" -Methode
def update_thing():
stud_ID = str(ID_num.get())
stud_name = str(name.get())
stud_course = str(Crs.get())
stud_year = str(Yr.get())
replace = stud_ID +','+ stud_name +','+ stud_course +','+ stud_year
empty = []
with open(file_op, 'wb') as fop:
Swriter = csv.writer(file_op, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
for row in fop:
if row[0:9] == stud_ID:
Swriter.writerow([empty])
Swriter.writerow([replace])
msg = Label(upd_win, text="Updated Successful", font="fixedsys 12 bold").place(x=3,y=120)
if not row[0:9] == getID:
msg1 = Label(upd_win, text="Updated Failed", font="fixedsys 12 bold").place(x=3,y=120)
fop.close()
Dieser Code ersetzt die Zeile, die es über ID-Nummer findet. Wenn es also die ID-Nummer findet, ersetzt es diese Zeilen durch Leeren und Schreiben der neu eingegebenen Zeilen. Jedoch habe ich auf der Linie bin
Swriter = csv.writer(file_op, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
ein Problem mit einem Fehler aufweisen, hat es einen Fehler: Typeerror: Argument muss eine „Schreiben“ Methode hat. Ich weiß wirklich nicht, warum ich das verstehe.
file_op
ist der Dateiname, den ich von den Werten erhielt, die in der GUI eingegeben wurden. Jede Hilfe wird wirklich geschätzt. Vielen Dank!
'fop.close()' ist nicht notwendig, –
Ich denke, Sie wollen 'fop' als erstes Argument an' csv.writer() 'übergeben, anstatt an' file_op'. –