python文件选择对话框的操作方法

yipeiwu_com7年前Python基础

对于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文件选择对话框的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

利用python打印出菱形、三角形以及矩形的方法实例

前言 本文主要给大家介绍了关于利用python打印出菱形、三角形以及矩形的相关内容,分享出来供大家参考学习,话不多说,来一起看看详细的介绍: 实例代码 #coding:utf-8...

Python实现删除列表中满足一定条件的元素示例

本文实例讲述了Python实现删除列表中满足一定条件的元素。分享给大家供大家参考,具体如下: 从列表中删除满足一定条件的元素。 如:删除一个列表中长度为0的元素,或者删除列表中同时是2和...

Python使用paramiko操作linux的方法讲解

paramiko介绍 paramiko是一个基于python编写的、使用ssh协议的模块,跟xshell和xftp功能类似,支持加密与认证,可以上传下载和访问服务器的文件。 可以利用pa...

python计算两个矩形框重合百分比的实例

如下所示: def mat_inter(box1,box2): # 判断两个矩形是否相交 # box=(xA,yA,xB,yB) x01, y01, x02, y02 = bo...

Python常用列表数据结构小结

本文汇总了Python列表list一些常用的对象方法,可供初学者参考或查询,具体如下: 1.list.append(x) 把元素x添加到列表的结尾,相当于a[len(a):] =[x],...