tkinter asksaveasfile函数打开文件夹

时间:2017-09-26 05:26:55

标签: python tkinter

当我使用tkinter的asksaveasfile函数时,它无意中打开文件夹而不是保存一个恰好被命名为该文件夹的文件。

给出示例代码:

import tkinter.tkFileDialog

f = tkFileDialog.asksaveasfile(mode='w', defaultextension=".txt")

一个文件结构,例如:

Desktop (initial directory)
 | ----------> example (folder)

其中Desktop是初始目录,示例是该目录中的文件夹

如果您尝试输入文本“example”,则不会创建该文件,而是打开名为example的文件夹。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

filedialog的默认和预期行为是能够粘贴访问特定文件夹的路径,因此这将与您想要实现的目标冲突。

一个选项可能是在默认文件名中提供扩展名:

f = tkFileDialog.asksaveasfile(mode='w', 
                               initialfile='.txt', # or even a default name
                               defaultextension='.txt')