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

yipeiwu_com5年前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字符串的常见操作。分享给大家供大家参考,具体如下: 如果我们想要查看以下功能:help(mystr .find) 1.find 例: mystr="hell...

Python 实现顺序高斯消元法示例

Python 实现顺序高斯消元法示例

我就废话不多说,直接上代码吧! # coding: utf8 import numpy as np # 设置矩阵 def getInput(): matrix_a = np.m...

python使用PyCharm进行远程开发和调试

python使用PyCharm进行远程开发和调试

背景描述 有时候Python应用的代码在本地开发环境运行十分正常,但是放到线上以后却出现了莫名其妙的异常,经过再三排查以后还是找不到问题原因,于是就在想,要是可以在服务器环境中进行单步跟...

django框架基于模板 生成 excel(xls) 文件操作示例

本文实例讲述了django框架基于模板 生成 excel(xls) 文件操作。分享给大家供大家参考,具体如下: 生成Excel 文件,很多人会采用一些开源的库来实现,比如python 自...

解决pyqt中ui编译成窗体.py中文乱码的问题

我在Eric工具下编译的 解决办法: 1、打开 C:\Python27\Lib\site-packages\eric4\i18n,将中文资源包的名称"GB2312."去掉,变成eric4...