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.