python 实现用对话框选择文件夹或文件(更新1,追加filedialog对话框用法详解)

python用于选择文件或文件夹的功能是在tkinter模块中,用如下代码可实现:

#! python3

import tkinter as tk
from tkinter import filedialog
root = tk.Tk()
root.withdraw()

FolderName = filedialog.askdirectory()  #获取文件夹
FileName = filedialog.askopenfilename()  #获取文件夹中的某文件

if '/' in FolderName :

    # 用\替换/,注意'\\'的用法,
    # 如果直接使用'\',会被系统识别成转义字符
    FolderName.replace('/', '\\') 
    print('找到1')

if '/' in FileName :
    FileName.replace('/', '\\')
    print('找到2')

if len(FolderName) == 0 :
    print('未找到文件夹!')
else :
    print('文件夹是:',FolderName)

if len(FileName) == 0 :
    print('未找到文件夹!')
else :
    print('文件是:',FileName)

上述代码中,使用了以下两行代码:

import tkinter as tk
from tkinter import filedialog

按说已经使用import tkinter语句导入模块中所有成员了,为什么还必须使用from tkinter import filedialog语句呢?

请看链接:https://editor.csdn.net/md/?articleId=128321249

python中的filedialog对话框的方法及参数:
tkinter.filedialog.asksaveasfilename(**options):选择当前打开的文件要以什么文件名保存,返回含有全路径的文件名字符串。需要选择已有的文件,而且只能选择一个文件,也可以输入一个新文件名,从而保存成新文件。
tkinter.filedialog.asksaveasfile(**options): 选择以什么文件保存,创建文件并返回文件流对象(本人对文件流尚不理解,暂列于此,返回值举例:<_io.TextIOWrapper name=‘C:/Users/gsl/Desktop/今日作业/多音1字.docx’ mode=‘w’ encoding=‘cp936’>)
tkinter.filedialog.askopenfile(**options): 选择打开什么文件,返回IO流对象(同上,返回值举例:<_io.TextIOWrapper name=‘C:/Users/高舒林/Desktop/今日作业/多音1字.docx’ mode=‘r’ encoding=‘cp936’>)
tkinter.filedialog.askopenfilename(**options): 选择要打开的单个文件,返回含有全路径的文件名字符串
tkinter.filedialog.askopenfilenames(**options): 选择要打开的多个文件,以元组形式返回所选的含有全路径的文件名字符串元组,也可以只选择一个文件
tkinter.filedialog.askdirectory(**options): 选择文件夹,返回含有全路径的文件夹名
tkinter.filedialog.askopenfiles(**options): 选择打开多个文件,返回多个IO文件流对象的列表,也可以打开一个文件。

以上方法的参数 **options 选项介绍:
**optins参数,通常由title、defaultextension、filetypes、initialdir、multiple组成。
title:指定对话框的标题,字符串。(非必选项)
defaultextension:指定文件的默认扩展名,例如:defaultextension=’.jpg’,那么当用户输入一个文件名’Python’的时候,文件名会自动添加后缀为’Python.jpg’ 。–注意:如果用户输入文件名包含后缀,那么该选项不生效。(非必选项)
  filetypes:指定筛选文件类型的下拉菜单选项,该选项的值是由二元组构成的列表,每个二元组是由(类型名,扩展名)构成,例如:filetypes=[(‘文本’, ‘.txt’), (‘栅格’, ‘.tif’), (‘动图’, ‘.gif’)]。(根据需要设置,当文件夹中文件很多且类型很多,建议给出该参数),(非必选项)。
  initialdir:指定打开或保存文件的默认路径,默认路径是当前文件夹。(非必选项)
  multiple:是否确定选择多个文件,如果为True时,可以选择一个或多个文件。(非必选项)

并非每个方法都能使用这些参数,可根据需要使用这些选项。

以上内容参照了下列博主的文章,在此表示感谢。
版权声明:本文为CSDN博主「未名编程」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44275213/article/details/106388710
版权声明:本文为CSDN博主「辛特」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44630029/article/details/104399156

你可能感兴趣的:(python,开发语言,numpy)