python文件选择对话框

发布时间:2019-08-13 07:35:09编辑:auto阅读(2119)

    对于python的tkinter库来说,如果需要弹出文件选择框,我们需要引入一下tkinter.filedialog包,让用户直观地先择一个或者多个文件或者保存文件等操作。

    常见的文件选择对话框函数有

    1. **打开一个文件:**askopenfilename()
    2. **打开一组文件:**askopenfilenames()
    3. **保存文件:**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中就可以实现文件名的显示

关键字