python另存为对话框_“另存为文件”对话框如何不允许覆盖

我正在尝试在tkinter中创建一个保存文件对话框。我需要保存文件名以便以后使用。但是,我不希望filedialog接受选择已存在的文件名。在

到目前为止我只有这个:from tkinter import filedialog

my_file = filedialog.asksaveasfilename(defaultextension = ".myfile",

filetypes = [("MY SUPER FILE", ".myfile"),

("All files", ".*")])

一种可能是获取文件名,检查它是否存在(使用os.path.isfile),如果已经有同名的文件,再次要求用户输入新名称。但是,tkinter文件对话框会询问用户“文件已经存在。要覆盖吗?”。因此,如果稍后我告诉用户我不接受文件名的选择,这看起来很混乱。有没有办法强制tkinter文件对话框不询问用户有关覆盖的问题?在

编辑:根据答案中的建议,我尝试创建自己的“保存文件”对话框。在

我基本上只在tkinter保存对话框中添加了一个警告:

^{pr2}$

所以,看起来很简单。然后我想:我需要创建我自己的asksaveasfilename函数。

我去查资料来源:def asksaveasfilename(**options):

"Ask for a filename to save as"

return SaveAs(**options).show()

哼。。我要看看SaveAs在做什么。在class SaveAs(_Dialog):

"Ask for a filename to save as"

command = "tk_getSaveFile"

啊。。。我迷路了。我不明白这些碎片是怎么拼在一起的SaveAs'只有命令tk_getSaveFile。这里如何使用SaveFileDialog?我怎样才能建立自己的myasksaveasfilename函数呢?在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值