tkfiledialog example python tkinter savefiledialog

python - example - tkinter filedialog



¿Cómo escribo en el archivo que seleccioné usando filedialog.asksaveasfile? (1)

Intento escribir en un archivo que acabo de crear usando filedialog.asksaveasfile. Configuré el modo a ''w''. ¿Tengo que volver a abrir el archivo o algo así?

f = filedialog.asksaveasfile(mode=''w'', defaultextension=".csv") keyList = [] for n in aDict.keys(): keyList.append(n) keyList = sorted(keyList, key=operator.itemgetter(0,1)) csvWriter = csv.writer(f) for key in keyList: sal1 = aDict[(key[0],key[1])][0] sal2 = aDict[(key[0],key[1])][1] csvWriter.writerow(key[0], key[1], sal1, sal2) f.close()


Simplemente puede usar la función de write de la referencia (de tipo _io.TextIOWrapper ) devuelta por la función asksaveasfile .

Por ejemplo

from tkinter import filedialog, Tk root = Tk().withdraw() file = filedialog.asksaveasfile(mode=''w'', defaultextension=".csv") if file: file.write("Hello World") file.close()

Tenga en cuenta que el objeto devuelto por la función asksaveasfile es del mismo tipo o clase del objeto devuelto por la función open incorporada. Tenga en cuenta también que la misma función devuelve None , si se presiona Cancel cuando aparece el cuadro de diálogo.