我正在尝试使用filedialog.asksaveasfile写入我刚创建的文件。我将模式设置为'w'。我是否必须再次打开文件?
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()
答案 0 :(得分:4)
您只需使用write
函数返回的引用(_io.TextIOWrapper
类型)的asksaveasfile
函数。
例如
from tkinter import filedialog, Tk
root = Tk().withdraw()
file = filedialog.asksaveasfile(mode='w', defaultextension=".csv")
if file:
file.write("Hello World")
file.close()
请注意,asksaveasfile
函数返回的对象与内置{{1}返回的对象的类型或类相同功能。另请注意,如果在弹出对话框时按下open
,则同一函数返回None
。