Python文件对话框(win32ui)

更新时间:2023-07-06 18:31:32 阅读: 评论:0

Python⽂件对话框(win32ui)
千万别学英语
1 简介教材全解
python中使⽤打开⽂件对话框或者保存⽂件对话框。这⾥以打开⽂件对话框举例⼦
安装
# 安装
pip install pypiwin32provinces
少儿学英语
2 简单⽰例
import win32ui
dlg= win32ui.CreateFileDialog(True)# True表⽰打开⽂件对话框
# 设置打开⽂件对话框中的初始显⽰⽬录
dlg.SetOFNInitialDir('E:/Python')
dlg.DoModal()
# 等待获取⽤户选择的⽂件
filename = dlg.GetPathName()# 获取选择的⽂件名称
# 如果没选择⽂件则filename是空的,即=""
print(filename)
3 ⽂件过滤
win32ui 模块是简单的封装了Windows中ui类。
dlg.CreateFileDialog(True) 构造的是PyCFileDialog 类,该类对应的是Windows⾃带的CFileDialog
,看C版本的官⽅⽂档你才会直到具体的⽤法
// 这个是创建该类时候可以使⽤的参数
CFileDialog::CFileDialog(
/
/ TRUE为打开⽂件对话框;FALSE为保存⽂件对话框
BOOL bOpenFileDialog,
// 扩展名
LPCTSTR lpszDefExt =NULL,
// 缺省⽂件名
LPCTSTR lpszFileName =NULL,
// 对话框风格
华尔街英语课程普通话翻译成广州话// ⼀般为OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, 即隐藏只读选项和覆盖已有⽂件前提⽰。
// OFN_HIDEREADONLY=0x04,OFN_OVERWRITEPROMPT=0x02
DWORD dwFlags = OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT,thelastresort
// ⽂件扩展名过滤
LPCTSTR lpszFilter =NULL,
CWnd* pParentWnd =NULL
)
北京日语学校
dwFlags 这个参数,我没有在win32ui库⾥看见写好的常量,如果⼤家有其他要求,可以参考,来查询每⼀个功能对应的具体的值。如果要⽀持多个功能,直接进⾏或运算即可。
下⾯重点讲解以下⽂件过滤
lpszFilter参数可以给⼀个字符串,这种字符串的格式有要求的,类似于下列格式
# 过滤字符串以 || 结尾,每两个 | 组成⼀个选项
# 语法:选项说明|具体的过滤对象|
lpszFilter ="csv Files (*.csv)|*.csv|" \  # 过滤⽅式1:只要csv⽂件
"txt Files (*.csv,*.txt)|*.csv;*.txt|" \ # 过滤⽅式2:只要csv和txt⽂件
"Files (*.*)|*.*|| "# 过滤⽅式3:要全部⽂件
下⾯举⼀个具体的⽰例
import os
import win32ui
lpszFilter ="csv Files (*.csv,*.txt)|*.csv;*.txt|" \
"Files (*.*)|*.*|| "
# 当前⽂件夹路径
dirpath = os.path.dirname(__file__)
# 这⾥的构造⽅法,对应上⾯展⽰的构造⽅法
dlg = win32ui.CreateFileDialog(True,"csv",None,0x04|0x02, lpszFilter)# True表⽰打开⽂件对话框# 设置打开⽂件对话框中的初始显⽰⽬录
dlg.SetOFNInitialDir(dirpath)
dlg.DoModal()
佳禾日语网
# 等待获取⽤户选择的⽂件
filename = dlg.GetPathName()# 获取选择的⽂件名称
# 如果⽤户点击了取消,则返回的filename为"",⽽不是None
vintage什么意思if filename =="":
pass

本文发布于:2023-07-06 18:31:32,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/169145.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:对话框   选项   打开   选择   字符串   过滤   取消
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图