我正在尝试写入我刚刚使用 filedialog.asksaveas 文件创建的文件。我将模式设置为“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()
最佳答案
您可以简单地使用 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
返回的对象函数与内置 open
返回的对象具有相同的类型 或类功能。另请注意,同一函数返回 None
, 如果 Cancel
弹出对话框时按下。
关于python - 如何写入我使用 filedialog.asksaveasfile 选择的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31215802/