问题:需要在选择存储路径时,让其默认有一个文件名。
起初的尝试:
import tkinter
import tkinter.filedialog as filedialog
root = tkinter.Tk()
root.title("界面")
root.geometry("360x290")
def fun1():
path_save = tkinter.filedialog.asksaveasfilename(defaultextension='这里是默认文件名',filetypes=[("word文件", ".docx")])
print(path_save)
path_save = path_save.replace("/", "\\\\")
print(path_save)
root.resizable(False, False) # 不能变化窗口大小
tkinter.Button(root, text='保存路径',command=fun1).pack()
root.mainloop()
运行图:
点击“保存路径”按钮:(并没有在文件名处出现我们设置的默认文件名)
出现这个问题原因我也不清楚,按理来说设置了defaultextension属性应该会有啊!
解决办法:
写的时候发现是自己搞错了,应该用initialfile属性,就怪我看完这个链接之后,可能对defaultextension: added to filename if not explicitly given,这局英文理解的不太好,有道翻译的意思是:默认扩展:添加到文件名,如果没有明确给出。这不是默认文件名的意思嘛。再看看initialfile: initial file (ignored by the open dialog). preserved by dialog instance. 的翻译:初始文件(被打开的对话框忽略)。由对话框实例保存。
所以一开始我以为用defaultextension应该就可以,谁知道认真看了一下是initialfile,把defaultextension替换为initialfile,结果成功:
哎,白忙活了一下,哈哈哈哈