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 import urllib2 import sys,...

python如何将两个txt文件内容合并

python如何将两个txt文件内容合并

本文实例为大家分享了python将两个txt文件内容合并的具体代码,供大家参考,具体内容如下 分析: 先分别将两个文件中的内容读入列表中,再将列表分割 把不同属性的数据放到单独的列表...

Python中time模块和datetime模块的用法示例

time模块方法: time.time():获取当前时间的时间戳 time.localtime():接受一个时间戳,并把它转化为一个当前时间的元组。不给参数的话就会默认将time.tim...

python中返回矩阵的行列方法

实例如下所示: # TODO 返回矩阵的行数和列数 def shape(M): return len(M),len(M[0]) 以上这篇python中返回矩阵的行列方法就是小编...

python实现动态数组的示例代码

实现一个支持动态扩容的数组并完成其增删改查 #通过python实现动态数组 """ 数组特点: 占用一段连续的内存空间,支持随机(索引)访问,且时间复杂度为O(1) 添加...