对于python的tkinter库来说,如果需要弹出文件选择框,我们需要引入一下tkinter.filedialog包,让用户直观地先择一个或者多个文件或者保存文件等操作。
常见的文件选择对话框函数有
**打开一个文件:**askopenfilename()
**打开一组文件:**askopenfilenames()
**保存文件:**asksaveasfilename()
首先是打开一个文件我们将使用的对话函数是
askopenfilename()
from tkinter import * import tkinter.filedialog root = Tk() def xz(): filename = tkinter.filedialog.askopenfilename() if filename != '': lb.config(text = "您选择的文件是:"+filename); else: lb.config(text = "您没有选择任何文件"); lb = Label(root,text = '') lb.pack() btn = Button(root,text="弹出选择文件对话框",command=xz) btn.pack() root.mainloop()
选择文件之前:
选择文件之后:
接下来是选择一组文件并且将其在对话框里显示出来
from tkinter import * import tkinter.filedialog root = Tk() def xz(): filenames = tkinter.filedialog.askopenfilenames() if len(filenames) != 0: string_filename ="" for i in range(0,len(filenames)): string_filename += str(filenames[i])+"\n" lb.config(text = "您选择的文件是:"+string_filename) else: lb.config(text = "您没有选择任何文件"); lb = Label(root,text = '') lb.pack() btn = Button(root,text="弹出选择文件对话框",command=xz) btn.pack() root.mainloop()
选择多个文件之前和选择单个文件是一样的
选择多个文件之后
在写代码的过程中我发现
tkinter.filedialog.askopenfilenames()
返回的是一个tuple数据类型,所以我在后期的处理上先是len(tuple)是否为0,如不是就用for循环将其强制转化str(tuple[i])到string_filename中就可以实现文件名的显示
总结
以上所述是小编给大家介绍的python文件选择对话框的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!