关于Python tkinter库中filedialog的四个最有用函数(一)

tkinter库简介 :

tkinter是python默认的GUI库,它是python的内置库不需要安装。而filedialog是文件对话框,在程序运行该过程中, 当你需要手动选择文件或手动选择文件存储路径时,就需要用到tkinter库中filedialog提供的函数

1、导入模块

import tkinter as tk
from tkinter import filedialog
root = tk.Tk()  # 创建一个Tkinter.Tk()实例
root.withdraw()  # 将Tkinter.Tk()实例隐藏

2、filedialog提供的四个最有用的函数

		filedialog.askopenfilename(***options)
		filedialog.askopenfilenames(**options)
		filedialog.asksaveasfile(**options)
		filedialog.askdirectory(**options)

1、几个常用函数的可选参数 **options

这里介绍几个重要的可选参数
title --指定文件对话框的标题栏文本。(对选择文件时进行提示,建议必写该参数)

defaultextension --指定文件的后缀,例如:defaultextension=’.jpg’,那么当用户输入一个文件名’Python’的时候,文件名会自动添加后缀为’Python.jpg’ 。–注意:如果用户输入文件名包含后缀,那么该选项不生效。(不必须)

filetypes --指定筛选文件类型的下拉菜单选项,该选项的值是由二元组构成的列表,每个二元组是由(类型名,后缀)构成,例如:filetypes=[(‘文本’, ‘.txt’), (‘栅格’, ‘.tif’), (‘动图’, ‘.gif’)]。(看情况,当文件夹中文件很多且类型很多,建议给出该参数)

initialdir --指定打开保存文件的默认路径,默认路径是当前文件夹。(不必须)

multiple --是否确定选择多个文件,if true user may select more than one file。(不必须)

2、四个函数讲解

  1. filedialog.askopenfilename(**options)
    自动打开选取窗口,手动选择一个文件,返回文件路径,类型为字符串。
    可选参数:titlefiletypesinitialdirmultiple

  2. filedialog.askopenfilenames(**options)
    同时选择多个文件,返回一个元组,包括所有选择文件的路径。
    可选参数:titlefiletypesinitialdir

  3. filedialog.asksaveasfile(**options)
    选择文件存储路径并命名,可选参数:titlefiletypesinitialdirefaultextension
    如果 filetypes=[(“文本文档”, “.txt”)] ,可以不写文件扩展名,扩展名自动为txt;
    如果 *filetypes=[(‘All Files’, ’ ')] ,一定写文件扩展名,否则无扩展名;
    如果 filetypes=[(“文本文档”, “.txt”)] ,efaultextension=‘.tif’,可以不写文件扩展名,扩展名自动为tif。

  4. filedialog.askdirectory(**options)
    选择一个文件夹,返回文件夹路径。
    可选参数:titleinitialdir

3、代码实例应用

import tkinter as tk
from tkinter import filedialog
root = tk.Tk()   # 创建一个Tkinter.Tk()实例
root.withdraw()  # 将Tkinter.Tk()实例隐藏
# 选择一个文件
file_path = filedialog.askopenfilename(title='请选择一个文件', initialdir=r'D:\冰川数据\物质平衡模型测试数据', filetypes=[(
    "文本文档", ".txt"), ('Excel', '.xls .xlsx'), ('All Files', ' *')], defaultextension='.tif', multiple=True)
print(file_path)
# 选择多个文件
file_paths = filedialog.askopenfilename(title='请选择多个文件', initialdir=r'D:\冰川数据\物质平衡模型测试数据', filetypes=[(
    "文本文档", ".txt"), ('Excel', '.xls .xlsx'), ('All Files', ' *')])
print(file_paths)
# 选择文件存储路径
save_file = filedialog.asksaveasfile(title='请选择文件存储路径', initialdir=r'D:\冰川数据\物质平衡模型测试数据', filetypes=[(
    "文本文档", ".txt"), ('Excel', '.xls .xlsx'), ('All Files', ' *')], defaultextension='.tif')
print(save_file)
# 选择要处理的文件的文件夹
dir_path = filedialog.askdirectory(title='选择影像存放的位置!', initialdir=r'D:\冰川数据\物质平衡模型测试数据')
print(dir_path)
                    关于Python tkinter库中filedialog的四个最有用函数(一)tkinter库简介 :tkinter是python默认的GUI库,它是python的内置库不需要安装。而filedialog是文件对话框,在程序运行该过程中,当你需要手动选择文件或手动选择文件存储路径时,就需要用到tkinter库中filedialog提供的函数。1、导入模块import tkinter as ...
				
关于Python tkinterfiledialog四个有用函数(二) 昨天我已经写了一篇博客,介绍了filedialog提供的四个有用函数,如果你对tkinterfiledialog的使用不了解,请阅读上篇博客 关于Python tkinterfiledialog四个有用函数(一) 。 对于我来说,下面代码还是有点累赘 import tkinter as tk from tkinter import filedialog root = tk.Tk() # 创建一个Tkinter.Tk()实例 root.withdraw() # 将Tkinter.Tk()实例隐藏
tkinter.filedialog.asksaveasfilename():选择以什么文件名保存,返回文件名 tkinter.filedialog.asksaveasfile():选择以什么文件保存,创建文件并返回文件流对象 tkinter.filedialog.askopenfilename():选择打开什么文件,返回文件名 tkinter.filedialog.askopenfile(...
待编写:askopenfilename的参数 from tkinter.filedialog import askopenfilename # For the following classes and modules: # options (all have default values): # - defaultextension: added to filename if not e...
在写脚本的时候,有时候处理文件名会很复杂。如果直接在脚本写死,移植性就不强。而且在处理多个文件时,灵活性不强。 所以就产生了一个需求,有没有在脚本使用的文件对话框,用来图形化的选择文件,但是又不想自己写个界面,搞得很复杂。 https://stackoverflow.com/questions/9319317/quick-and-easy-file-dialog-in-pyth
利用tkFileDialog.askopenfilenames获取多个文件名 by cnDenis http://cndenis.iteye.com 2012年12月27日 用Python写小脚本,要选择文件,最简单的方式莫过于使用内置的Tk的控件了。如果需要同时选择多个文件,可以使用tkFileDialog.askopenfilenames,如下: