Python有专门的模块用来浏览和打开文件。笔者最近在测试Python GUI编程,正好遇到这部分内容,记录一下以备查
工具/原料
Python 2.7.11
方法/步骤
1
这次用到的是tk下面的tkFileDialog模块,是GUI编程下的一个模块。我们用到的是askopenfilename这个函数
2
下面是典型代码。(注意:te是程序内文本控件的变量名,可忽略)
3
我们看到第一行,我们给函数设置了一个参数作为默认的浏览路径(实际目录应该是Python27)。因为如果这个浏览路径是无效的话,那么默认浏览路径就是“桌面”;如果不设置这个参数,那默认浏览路径是脚本文件所在路径
4
在代码的第二行,这行代码的目的是处理没有选择任何文件的情况。因为很可能我们打开了浏览窗口而不选择任何文件。没有这个代码,这里就是bug。那现在我们的程序大致运行就没有问题了
5
但是呢,一旦我们用这部分代码尝试去打开一个文本文档,那么情况很可能会是这样的:没错,是编码的问题。
6
这里我们需要处理一下编码问题。因为Python代码默认是使用utf8编码的,而我们的文本文档使用的却是gbk的编码。对于编码问题我们在后续文章会重点解决一下。
7
显而易见的是,作为特定的文件的浏览,最好设置特定文件的文本类型的过滤,这样就会减少软件需要处理的未知的文件类型的数量。就好比软件说明书,明明告诉你只支持文本文件的打开了,用户偏偏拿去打开word文档,怪你咯~
8
所以,常常的,我们需要在函数的参数里,增加过滤类型这个参数。虽然并没有从本质上解决编码问题,但是作为整个小软件的架构上,还是无懈可击了。
注意事项
代码片段:http://pan.baidu.com/s/1dEmmSlb
上一篇:舞佰APP下载安装
下一篇:【药品说明书】齐多夫定片