html实现用户注册登录代码
Python中的打开⽂件对话框
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设置打开⽂件对话框的初始显⽰⽬录,后来遇到了需要设置的情况,因此上⽹查了下⽅法,⼀不⼩⼼来到了⼀个叫做的⽹站,在上⾯到了这个设置⽅法;同时,还意外地发现了原来还有⼀个tkFileDialog的模块,也提供了⼤量操作⽂件对话框的⽅法,使⽤tkFileDialog.askopenfilename()即可轻松实现我的需求,代码异常简单:import tkFileDialog
filename =tkFileDialog.askopenfilename(initialdir ='E:/Python')
print filename
界⾯也是友好的本地风格,与使⽤win32ui.CreateFileDialog类似,但是优点是tkFileDialog是跨平台的:
当然Python的界⾯库丰富多样,WxPython、PyQt等等都很棒,它们提供的打开⽂件对话框的⽅法⾃然也是⾮常好⽤的。使⽤Python的程序员们很幸运,因为我们的选择还是有很多的。
话⼜说回来,是个很不错的⽹站,它上⾯提供了⼤量有关Python的⽂档和⽰例,也推荐给⼤家!