python另存为对话框_python – 另存为文件对话框 – 如何不允许覆盖
我正在尝试在tkinter中创建一个savefile对话框.我需要保存文件名以便以后使用.但是,我不希望filedialog接受选择已存在的文件名.
到目前为止我只有这个:
from tkinter import filedialog
my_file = filedialog.asksaveasfilename(defaultextension = ".myfile",
filetypes = [("MY SUPER FILE", ".myfile"),
("All files", ".*")])
一种可能性是获取文件名,检查它是否存在(使用os.path.isfile)并再次询问用户是否存在具有相同名称的文件的新名称.但是,tkinter filedialog会询问用户“文件是否已存在.是否要覆盖?”.因此,如果稍后我告诉用户我不接受文件名选择,这似乎令人困惑.有没有办法强制tkinter filedialog不要求用户覆盖?
编辑:根据答案中的建议,我尝试创建自己的保存文件对话框.
我基本上只在tkinter保存对话框中添加了一个警告:
class MySaveFileDialog(filedialog.FileDialog):
""" File save dialog that does not allow overwriting of existing file"""
def ok_command(self):
file = self.get_selection()
if os.path.exists(file):
if os.path.isdir(file):
self.master.bell()
return
messagebox.showarning("The current file name already exists. Please give another name to save your file.")
else:
head, tail = os.path.split(file)
if not os.path.isdir(head):
self.master.bell()
return
self.quit(file)
所以,它看起来很简单.然后我想:我需要创建自己的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"
Aaannddd ……我迷路了.我不明白这些碎片是如何组合在一起的. ‘SaveAs’只有tk_getSaveFile命令. SaveFileDialog如何在这里使用?我怎样才能创建自己的myasksaveasfilename函数?
python另存为对话框_python – 另存为文件对话框 – 如何不允许覆盖相关推荐
- QT三种窗口、调试终端信息打印、新建菜单、设置窗口标题名称、界面初始化、打开文件对话框、保存文件对话框
三种窗口 QMainWindow:主窗口程序(创建菜单) QWidget:部件窗口 QDialog:对话框窗口 调试终端信息打印 #include <QtDebug>qDebug < ...
- 选择文件对话框、保存文件对话框、选择文件夹对话框
选择文件对话框 // 设置图像文件过滤格式CString lv_strFilterAll = _T("所有文件(*.*)|*.*||");CString lv_strFilterJ ...
- MFC_选择目录对话框_选择文件对话框_指定目录遍历文件
选择目录对话框 void C资源共享吧视频广告清理工具Dlg::OnBnClickedCls() {// 清空编辑框内容m_Edit.SetWindowTextW(L"");m_E ...
- cfiledialog对话框大小_CFileDialog文件对话框用法
(1)选择文件CFileDialog dlg(TRUE, _T("*.bmp"), NULL, OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OF ...
- Qt中打开文件对话框和保存文件对话框
主要是用QFileDialog的两个静态方法 1.打开对话框 QString getOpenFileName(QWidget * parent = 0, const QString & cap ...
- python excelwriter保存路径_python管理文件神器 os.walk
点击上方"机器学习与生成对抗网络",关注"星标" 获取有趣.好玩的前沿干货! 来源:诡途 https://blog.csdn.net/qq_35866846/a ...
- python新建文件格式_python之文件操作
@ 打开\创建文件 在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件,默认在当前程序所在文件夹下创建新文件. 格式:open(文件名,访问模式),例如 f = open ...
- python关键词提取_python对文件中的关键词查找替换,实现自动获取配置
1.目的 想对update_variable.py文件中的配置进行修改,数据通过系统接口自动获取 update_variable.py my_name='null' my_age=18 2.代码 up ...
- 用python读取股票价格_Python读取文件并给出股票价格
我使用的是ystockquote,可以找到here.基本上,我有一个包含我所有股票符号的文件,然后我用python将其笔下并显示每只股票的价格.以下是我目前为止的代码:import ystockquo ...
最新文章
- Be a person
- class 第一个元素_第二章(第3节):网页元素定位和操作
- mvp内粗泄露问题_如何在一小时内启动MVP服务器
- iPhone清理喇叭灰尘_厉害了,iPhone 专用的网购商品历史最低价查询工具
- solid 设计原则 php,面向对象设计SOLID五大原则
- 无法将多信息文本转换为url_实体链接:信息抽取中的NLP的基础任务
- 为什么大家都说 SELECT * 效率低
- 【转】UML的9种图例解析
- Opencv 图像融合/泊松融合/seamlessClone
- blob 在线解码_roon、NAS图文全攻略 | 试听欧博旗舰RDS1电池数字界面转盘+旗舰RDB1电池解码器(三)。...
- 微信小程序弹窗禁止页面滚动
- 【存储】超融合(HCI)和云是什么以及区别
- 监督学习与无监督学习
- 狄拉克函数和广义函数 | 线性泛函
- pandoc 转换html,pandoc将markdown转换输出HTML slide
- 2021-04-12
- 行路难 李白
- Selenium自动化测试框架基础学习(元素表单操作)(Selenium操作)
- Java 导出Excel利用模版导出
- 【javasim】一个java下的建模仿真平台
热门文章
- 小程序与H5及混合应用测试
- 哪款软件可以测试刘海,什么脸型适合什么刘海 5款自测你适合哪种
- 自定义类型:结构体2.0(初阶+进阶)+位段+枚举+联合
- 2440 wince 5.0 BSP之flash驱动分析
- c++笔记(超详细超完整)
- 柔柔弱弱若若若若若若若若
- 计算机房的英语该怎么读,计算机机房硬件维护,Computer room hardware maintenance,音标,读音,翻译,英文例句,英语词典...
- 前端跨域请求get_前端接收 get 请求,用jsonp 解决跨域问题, 需要服务端的response 也要jsonp 类型...
- AVFoundation
- SpringMVC的工作原理图