Python tkinter 之文件对话框(filedialog)

文章目录

  • 1 文件
    • 1.1 获取单个文件名称:askopenfilename()
    • 1.2 获取多个文件名称:askopenfilenames()
    • 1.3 获取单个文件属性:askopenfile()
    • 1.4 获取多个文件属性:askopenfiles()
    • 1.5 获取保存文件的路径:asksaveasfilename()
    • 1.6 获取保存文件的属性:asksaveasfile()
  • 2 目录
    • 2.1 获取目录名称:askdirectory()

1 文件

修改中,请稍等...

1.1 获取单个文件名称:askopenfilename()

import tkinter
from tkinter import filedialog


class FileDiaLogDemo(object):
    def __init__(self):
        window = tkinter.Tk()
        window.withdraw()  # 不显示窗体

    def get_file_name(self):
        # 选择单个文件(绝对路径)
        file_path = filedialog.askopenfilename()
        print(file_path)


if __name__ == '__main__':
    test = FileDiaLogDemo()
    test.get_file_name()

测试结果(参考):

C:/Users/Administrator/Desktop/Temp/1.txt

1.2 获取多个文件名称:askopenfilenames()

import tkinter
from tkinter import filedialog


class FileDiaLogDemo(object):
    def __init__(self):
        window = tkinter.Tk()
        window.withdraw()  # 不显示窗体

    def get_file_names(self):
        # 选择多个文件(绝对路径,Ctrl + 文件)
        file_path = filedialog.askopenfilenames()
        print(f'返回值类型:{type(file_path)}')  # <class 'tuple'>
        print(file_path)


if __name__ == '__main__':
    test = FileDiaLogDemo()
    test.get_file_names()

测试结果(参考):

('C:/Users/Administrator/Desktop/Temp/1.txt', 
 'C:/Users/Administrator/Desktop/Temp/2.txt')

1.3 获取单个文件属性:askopenfile()

import tkinter
from tkinter import filedialog


class FileDiaLogDemo(object):
    def __init__(self):
        window = tkinter.Tk()
        window.withdraw()  # 不显示窗体

    def get_file(self):
        # 选择单个文件
        file = filedialog.askopenfile()
        print(f'文件的名称:{file.name}')
        print(f'文件的模式:{file.mode}')
        print(f'文件的编码:{file.encoding}')


if __name__ == '__main__':
    test = FileDiaLogDemo()
    test.get_file()

1.4 获取多个文件属性:askopenfiles()

import tkinter
from tkinter import filedialog


class FileDiaLogDemo(object):
    def __init__(self):
        window = tkinter.Tk()
        window.withdraw()  # 不显示窗体

    def get_files(self):
        # 选择单个文件
        file = filedialog.askopenfiles()
        print(f'返回值类型:{type(file)}')  # <class 'list'>
        print(f'文件的个数:{len(file)}')


if __name__ == '__main__':
    test = FileDiaLogDemo()
    test.get_files()

1.5 获取保存文件的路径:asksaveasfilename()

import tkinter
from tkinter import filedialog


class FileDiaLogDemo(object):
    def __init__(self):
        window = tkinter.Tk()
        window.withdraw()  # 不显示窗体

    def get_save_file_name(self):
        file = filedialog.asksaveasfilename(title="请选择文件存储路径",
                                            initialdir=r'E:\02 源码',
                                            filetypes=[('文本文档', '.txt'),
                                                       ('Excel', '.xls .xlsx'),
                                                       ('All Files', ' *')],
                                            defaultextension='.png')
        print(file)


if __name__ == '__main__':
    test = FileDiaLogDemo()
    test.get_save_file_name()

测试结果(参考):

C:/Users/Administrator/Desktop/Temp/1.txt

在这里插入图片描述

1.6 获取保存文件的属性:asksaveasfile()

import tkinter
from tkinter import filedialog


class FileDiaLogDemo(object):
    def __init__(self):
        window = tkinter.Tk()
        window.withdraw()  # 不显示窗体

    def get_save_file(self):
        file = filedialog.asksaveasfile(title="请选择文件存储路径",
                                        initialdir=r'E:\02 源码',
                                        filetypes=[('文本文档', '.txt'),
                                                   ('Excel', '.xls .xlsx'),
                                                   ('All Files', ' *')],
                                        defaultextension='.png')
        print(f'文件的名称:{file.name}')
        print(f'文件的模式:{file.mode}')
        print(f'文件的编码:{file.encoding}')


if __name__ == '__main__':
    test = FileDiaLogDemo()
    test.get_save_file()

测试结果(参考):

文件的名称:C:/Users/Administrator/Desktop/Temp/3.txt
文件的模式:w
文件的编码:cp936

2 目录

2.1 获取目录名称:askdirectory()

import tkinter
from tkinter import filedialog


class FileDiaLogDemo(object):
    def __init__(self):
        window = tkinter.Tk()
        window.withdraw()  # 不显示窗体

    def get_directory_name(self):
        # 获取单个目录名称(绝对路径)
        directory = filedialog.askdirectory()

        print(directory)


if __name__ == '__main__':
    test = FileDiaLogDemo()
    test.get_directory_name()

测试结果(参考):

C:/Users/Administrator/Desktop/Temp/01

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/225201.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

树莓派4B iio子系统 mpu6050

编写基于iio的mpu6050 遇到的问题&#xff0c;在读取数据时&#xff0c;读出来的数据不能直接拼接成int类型 需要先将其转换成short int&#xff0c;再转换成int 效果如图所示 注&#xff1a;驱动是使用的modprobe加载的 简单画的思维导图 设备树修改部分&#xff1a; …

大模型发展对教育领域的巨大影响

摘要&#xff1a; 教育是一个复杂而微妙的领域;有效的教学涉及对学生认知的推理&#xff0c;并应反映学生的学习目标。基础模型的性质在这里提出了在人工智能教育领域尚未实现的承诺&#xff1a;虽然教育中的某些许多数据流单独地过于有限&#xff0c;无法训练基础模型&#xf…

【linux系统编程】编辑器gcc/g++

目录 Linux下的编辑器 介绍&#xff1a; 1&#xff0c;编辑器gcc/g 1-1&#xff0c;系统的编译过程 1-2&#xff0c;预处理过程 1-3&#xff0c;编译过程 1-4&#xff0c;汇编过程 1-5&#xff0c;链接过程 Linux下的编辑器 介绍&#xff1a; Linux系统下可支持很多高…

祝大雪节气安康,大雪动态表情包图片带字祝福大全,大雪快乐暖心问候祝福语

1、大雪节气&#xff0c;送你防寒秘笈&#xff1a;1、天寒地冻防路滑;2、寒风呼啸防感冒;3、寒气袭人防哮喘;4、戴上耳套防冻耳;5、戴上手套防冻手;6、穿上棉鞋防冻脚;7、多喝开水防上火。8、加强锻炼防疾患。祝健康快乐。 2、奉天承运&#xff0c;皇帝诏曰&#xff1a;大雪节气…

STM32CubeMx+MATLAB Simulink串口输出实验

STM32CubeMxMATLAB Simulink串口输出实验 &#x1f4cc;《STM32CubeMxMATLAB Simulink点灯程序》&#x1f4cd;相关篇《MATLAB Simulink STM32硬件在环 &#xff08;HIL&#xff09;实现例程测试》&#x1f516;需要的软件支持包&#xff1a;Embedded Coder Support Package fo…

Spingboot 之spring-boot-starter-parent与spring-boot-dependencies区分

在创建spring boot工程时&#xff0c;spring-boot-starter-parent 和 spring-boot-dependencies是二选一的关系&#xff0c;在pom中引入其中一个就可以了。 那么什么时候用spring-boot-starter-parent 和 spring-boot-dependencies呢&#xff1f;从字面名称上看&#xff0c;如…

「Verilog学习笔记」根据状态转移写状态机-二段式

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 和三段式相比&#xff0c;就是将输出块和次态切换块合并。 timescale 1ns/1nsmodule fsm2(input wire clk ,input wire rst ,input wire data ,output reg flag );//****…

利器|一款集成的BurpSuite漏洞探测插件

本着市面上各大漏洞探测插件的功能比较单一&#xff0c;因此与TsojanSecTeam成员决定在已有框架的基础上修改并增加常用的漏洞探测POC&#xff0c;它会以最少的数据包请求来准确检测各漏洞存在与否&#xff0c;你只需要这一个足矣。 1、加载插件 2、功能介绍 &#xff08;1&a…

『VUE3后台—硅谷甄选』

一、准备前期 pnpm create vite

计算机操作系统3

1.虚拟机 VM 两类虚拟机的对比&#xff1a; 2.进程 进程的特征&#xff1a; 进程状态的转换&#xff08;五大状态&#xff09; 3.进程控制原语的作用 4.线程 ​​​​​线程的属性 实现方式 5.调度算法的评价指标

python-sql-spark常用操作

数据抽取提速&#xff1a; 1. 不要把rdd或者df展示出来&#xff0c;只有第一遍跑流程的时候看看中间结构&#xff0c;后面就只保存不展示。 2. 尽量使用spark.sql&#xff0c;而不是rdd。sql处理groupby会快很多。基本上10min的rdd&#xff0c;sql只需2min。所以基本除了复杂…

深度探索Linux操作系统 —— 构建内核

系列文章目录 深度探索Linux操作系统 —— 编译过程分析 深度探索Linux操作系统 —— 构建工具链 深度探索Linux操作系统 —— 构建内核 文章目录 系列文章目录前言一、内核映像的组成 前言 内核的构建系统 kbuild 基于GNU Make&#xff0c;是一套非常复杂的系统。 对于编译内核…

用 C 写一个卷积神经网络

用 C 写一个卷积神经网络 深度学习领域最近发展很快&#xff0c;前一段时间读transformer论文《Attention Is All You Need》时&#xff0c;被一些神经网络和深度学习的概念搞得云里雾里&#xff0c;其实也根本没读懂。发现深度学习和传统的软件开发工程领域的差别挺大&#xf…

19、XSS——HTTP协议安全

文章目录 一、Weak Session IDs(弱会话IDs)二、HTTP协议存在的安全问题三、HTTPS协议3.1 HTTP和HTTPS的区别3.2 SSL协议组成 一、Weak Session IDs(弱会话IDs) 当用户登录后&#xff0c;在服务器就会创建一个会话&#xff08;Session&#xff09;&#xff0c;叫做会话控制&…

tomcat配置管理员And配置访问静态资源

配置管理员 打开 tomcat\conf\tomcat-users.xml <tomcat-users xmlns"http://tomcat.apache.org/xml"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://tomcat.apache.org/xml tomcat-users.xsd"version&qu…

openai 1.3.x 版本 openai.APITimeoutError: Request timed out. 解决

问题描述 openai 1.3.x 版本 请求出现 Request timed out File "E:\Python\Python312\Lib\site-packages\openai\_base_client.py", line 920, in _request return self._retry_request( ^^^^^^^^^^^^^^^^^^^^ File "E:\Python\Python312\L…

python爬虫零基础学习之简单流程示例

文章目录 爬虫基础爬虫流程常用库爬虫示例关于Python爬虫技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 爬虫基础 网络爬…

微信小程序动态加载图表[echart]

1.引入Echarts &#xff08;1&#xff09;将ec-canvas文件拷贝下来放到你自己的项目中&#xff1a; &#xff08;2&#xff09;在你需要使用Echarts的页面的json文件中引入Echarts "usingComponents": {"ec-canvas": "../utils/ec-canvas/ec-canva…

STM32——PWM介绍

STM32F103C8T6 PWM资源&#xff1a; 高级定时器&#xff08;TIM1&#xff09;&#xff1a;7路 通用定时器&#xff08;TIM2~TIM4&#xff09;&#xff1a;各4路 PWM输出模式&#xff1a; PWM模式1&#xff1a;在向上计数时&#xff0c;一旦 CNT < CCRx 时输出为有效电平&…

基于Eclipse+Mysql+Servlet开发的学生信息管理系统

基于EclipseMysqlServlet开发的学生信息管理系统 项目介绍&#x1f481;&#x1f3fb; 随着信息技术的不断发展&#xff0c;学校管理学生信息的方式也在不断改进。传统的手工管理方式已经无法满足现代学校对信息管理的需求&#xff0c;因此开发一套基于EclipseMysql的学生信息管…