python - 如何写入我使用 filedialog.asksaveasfile 选择的文件?

标签 python tkinter savefiledialog

我正在尝试写入我刚刚使用 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/

相关文章:

python - 如果字符串中的单词位于单词列表中,则替换该单词

python - 如何在 Django 表单中使用外键过滤选择值

python - 向 Pandas 数据框添加固定日期

python - 将 python 字符串从列表打印到 gui

python - MVC tkinter 模型。在框架之间切换,添加新框架

tkinter - root.tk.call()方法参数的含义

c# - 您可以通过 RemoteApp 将文件保存在本地驱动器上,而不是保存到服务器驱动器上吗?

c# - 在 multidotExtension 上意外添加了 SaveFileDialog 扩展

c# - 验证 SaveFileDialog 的 InitialDirectory?

python - 替换所有脚本 src 属性的正则表达式