Python中的打开文件对话框
来源:互联网 发布:影响数据质量的因素 编辑:程序博客网 时间:2024/06/05 19:45
转自:http://blog.sina.com.cn/s/blog_76129c6f0101892q.html
1、最早学习Tkinter的时候,在《Tkinter编程代码实例》中看到的“打开文件对话框”需要用到FileDialog模块,代码非常简单:
from Tkinter import *
from FileDialog import *
root = Tk()
fd = LoadFileDialog(root) # 创建打开文件对话框
filename = fd.go() # 显示打开文件对话框,并获取选择的文件名称
print filename
root.mainloop()
但是界面效果比较简陋(不是本地风格),而且遇到中文名称也会显示为乱码。所以FileDialog.LoadFileDialog用于快速原型验证倒是不错,要拼凑一个稍微上得了台面的界面还是差了点:
2、然后因为使用Python操作过Excel的缘故,接触了PyWin32扩展库,在该库的win32ui模块中,提供了一个CreateFileDialog方法可以用于创建打开文件对话框,创建代码也非常简单:
import win32ui
dlg = win32ui.CreateFileDialog(1) # 1表示打开文件对话框
dlg.SetOFNInitialDir('E:/Python') # 设置打开文件对话框中的初始显示目录
dlg.DoModal()
filename = dlg.GetPathName() # 获取选择的文件名称
print filename
这个打开文件对话框的界面比较友好,是Windows本地风格的,中文显示也正常,但缺点是只能在Windows上有效:
3、其实刚开始使用win32ui.CreateFileDialog时,还不会用SetOFNInitialDir设置打开文件对话框的初始显示目录,后来遇到了需要设置的情况,因此上网查了下方法,一不小心来到了一个叫做nullege的网站,在上面找到了这个设置方法;同时,还意外地发现了原来还有一个tkFileDialog的模块,也提供了大量操作文件对话框的方法,使用tkFileDialog.askopenfilename()即可轻松实现我的需求,代码异常简单:
import tkFileDialog
filename = tkFileDialog.askopenfilename(initialdir = 'E:/Python')
print filename
界面也是友好的本地风格,与使用win32ui.CreateFileDialog类似,但是优点是tkFileDialog是跨平台的:
当然Python的界面库丰富多样,WxPython、PyQt等等都很棒,它们提供的打开文件对话框的方法自然也是非常好用的。使用Python的程序员们很幸运,因为我们的选择还是有很多的。
话又说回来,nullege是个很不错的网站,它上面提供了大量有关Python的文档和示例,也推荐给大家!
- Python中的打开文件对话框
- Python中的打开文件对话框
- Python中的打开文件对话框(转)
- Python中的打开文件对话框(转)
- python打开文件对话框
- python打开文件对话框方法
- 【Python】利用tkFileDialog打开文件对话框
- 打开文件保存对话框
- VBS 打开文件对话框
- 文件打开保存对话框
- 打开文件对话框相关
- MFC打开文件对话框
- 打开文件对话框
- 打开文件对话框
- VC 打开文件对话框
- 打开文件对话框
- Qt 打开文件对话框
- 打开文件对话框
- Node.js 入门简介
- JS中的phototype
- Hive中如何快速的复制一张分区表(包括数据)
- vuex2.0 基本使用(2) --- mutation 和 action
- 人工智能到底用GPU还是FPGA?
- Python中的打开文件对话框
- 暑期 tensorflow+CNN+mnist
- 20位活跃在Github上的国内技术大牛
- HDU 2571 命运
- 【怎样写代码】确保对象的唯一性 -- 单例模式(三):单例模式
- leetcode 416. Partition Equal Subset Sum
- 初学vue感受
- yii2.0 运行原理
- eclipse查看导入jar包源码