iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中使用tkFileDialog实现文件选择、保存和路径选择
  • 872
分享到

Python中使用tkFileDialog实现文件选择、保存和路径选择

2024-04-02 19:04:59 872人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录使用tkFileDialog实现文件选择、保存和路径选择概述示例ImportError: No module named 'tkFileDialog'问题原因验证

使用tkFileDialog实现文件选择、保存和路径选择

概述

看了下Tkinter的文档,对于Pop-up dialog有三类,现在用到的是tkFileDialog

tkFileDialog有三种形式:

  • 一个是:askopenfilename(option=value, …) 这个是”打开”对话框
  • 一个是:asksaveasfilename(option=value, …) 这个是另存为对话框
  • 另一个是:askdirectory()这个是路径选择对话框

option参数如下:

  • defaultextension = s 默认文件的扩展名
  • filetypes = [(label1, pattern1), (label2, pattern2), …] 设置文件类型下拉菜单里的的选项
  • initialdir = D 对话框中默认的路径
  • initialfile = F 对话框中初始化显示的文件名
  • parent = W 父对话框(由哪个窗口弹出就在哪个上端)
  • title = T 弹出对话框的标题

如果选中文件的话,确认后会显示文件的完整路径,否则单击取消的话会返回空字符串

示例

#coding=UTF-8    
import Tkinter, Tkconstants, tkFileDialog  
class TkFileDialogExample(Tkinter.Frame):  

    def __init__(self, root):  
        Tkinter.Frame.__init__(self, root)  
        # options for buttons  
        button_opt = {'fill': Tkconstants.BOTH, 'padx': 5, 'pady': 5}  

        # define buttons  
        Tkinter.Button(self, text='askopenfile', command=self.askopenfile).pack(**button_opt)  
        Tkinter.Button(self, text='askopenfilename', command=self.askopenfilename).pack(**button_opt)  
        Tkinter.Button(self, text='asksaveasfile', command=self.asksaveasfile).pack(**button_opt)  
        Tkinter.Button(self, text='asksaveasfilename', command=self.asksaveasfilename).pack(**button_opt)  
        Tkinter.Button(self, text='askdirectory', command=self.askdirectory).pack(**button_opt)  

        # define options for opening or saving a file  
        self.file_opt = options = {}  
        options['defaultextension'] = '.txt'  
        options['filetypes'] = [('all files', '.*'), ('text files', '.txt')]  
        options['initialdir'] = 'C:\\'  
        options['initialfile'] = 'myfile.txt'  
        options['parent'] = root  
        options['title'] = 'This is a title'  

        # This is only available on the Macintosh, and only when Navigation Services are installed.  
        #options['message'] = 'message'  

        # if you use the multiple file version of the module functions this option is set automatically.  
        #options['multiple'] = 1  

        # defining options for opening a directory  
        self.dir_opt = options = {}  
        options['initialdir'] = 'C:\\'  
        options['mustexist'] = False  
        options['parent'] = root  
        options['title'] = 'This is a title'  

    def askopenfile(self):  

        """Returns an opened file in read mode."""  

        return tkFileDialog.askopenfile(mode='r', **self.file_opt)  

    def askopenfilename(self):  

        """Returns an opened file in read mode. 
        This time the dialog just returns a filename and the file is opened by your own code. 
        """  

        # get filename  
        filename = tkFileDialog.askopenfilename(**self.file_opt)  

        # open file on your own  
        if filename:  
            return open(filename, 'r')  

    def asksaveasfile(self):  

        """Returns an opened file in write mode."""  

        return tkFileDialog.asksaveasfile(mode='w', **self.file_opt)  

    def asksaveasfilename(self):  

        """Returns an opened file in write mode. 
        This time the dialog just returns a filename and the file is opened by your own code. 
        """  

        # get filename  
        filename = tkFileDialog.asksaveasfilename(**self.file_opt)  

        # open file on your own  
        if filename:  
            return open(filename, 'w')  

    def askdirectory(self):  

        """Returns a selected directoryname."""  

        return tkFileDialog.askdirectory(**self.dir_opt)  

if __name__ == '__main__':  
    root = Tkinter.Tk()  
    TkFileDialogExample(root).pack()  
    root.mainloop()  

ImportError: No module named 'tkFileDialog'问题

原因

python2和pyton3的版本问题。python3之后的版本自带有tkinter.

验证

  • import _tkinter
  • import tkinter
  • tkinter._test()

Python3中输入以上命令进行验证。

解决方法

Python2中应该写成  

from tkFileDialog import askdirectory

python3中应该写成  

from tkinter.filedialog import askdirectory

tkColorChooser ------------>tkinter.colorchooser
tkCommonDialog --------------->tkinter.commondialog   

其他的可以类推。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Python中使用tkFileDialog实现文件选择、保存和路径选择

本文链接: https://www.lsjlt.com/news/118168.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中使用tkFileDialog实现文件选择、保存和路径选择
    目录使用tkFileDialog实现文件选择、保存和路径选择概述示例ImportError: No module named 'tkFileDialog'问题原因验证...
    99+
    2024-04-02
  • Python中怎么使用tkFileDialog实现文件选择、保存和路径选择
    这篇“Python中怎么使用tkFileDialog实现文件选择、保存和路径选择”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇...
    99+
    2023-06-30
  • 如何解决python中open文件路径的选择问题
    这篇文章将为大家详细讲解有关如何解决python中open文件路径的选择问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一.问题描述  python 中使用open打开某个文件写入时,往往会发现需要写入...
    99+
    2023-06-20
  • python使用tkinter模块实现文件选择功能
    目录前言1.导入库和模块2.编写按钮命令3. 窗体初始化及布局4.运行前言 学习Python中,总想做个图形界面,找来找去,找到了tkinter。 练习内容:图形界面中,点击按钮后,...
    99+
    2024-04-02
  • 使用python实现条件选择的案例
    小编给大家分享一下使用python实现条件选择的案例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、...
    99+
    2023-06-14
  • Python创建一个GUI(Tkinter)选择文件的界面获取文件路径
    我们在利用Python进行创建文件时经常会用到一些文件路径,我们可以创建一个选择文件路径GUI(Tkinter)界面,然后我们就可以获取文件的路径,我们以后就可以直接拿来用!! 如下视频演示 程序逻...
    99+
    2023-09-03
    python 开发语言 tkinter GUI
  • Python创建一个GUI(PyQt5)选择文件的界面获取文件路径
    我们在利用Python进行创建文件时经常会用到一些文件路径,我们可以创建一个选择文件路径GUI(PyQt5)界面,然后我们就可以获取文件的路径,我们以后就可以直接拿来用!! 如下视频演示 程序逻辑 ...
    99+
    2023-09-18
    python qt 开发语言 pyqt5
  • Git和编程算法:如何使用Java优化路径选择?
    Git作为目前最流行的版本控制工具之一,为开发者们提供了便利。但是在项目开发中,我们经常需要处理大量的代码文件和目录,这时候如何选择最优路径来管理这些文件和目录呢?本文将介绍如何使用Java编程算法来优化路径选择。 一、路径选择的问题 在...
    99+
    2023-07-03
    git 编程算法 path
  • 使用Amaze UI怎么实现一个文件选择域
    本篇文章给大家分享的是有关使用Amaze UI怎么实现一个文件选择域,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。文件选择域<input type="file&...
    99+
    2023-06-09
  • 文件索引的新选择:使用 PHP 和 NumPy ?
    随着互联网信息的不断增长,文件管理变得越来越重要。而文件索引作为文件管理的基础,也随着时间的推移不断演变。近期,有人提出了一种新选择:使用 PHP 和 NumPy 来进行文件索引,相信这种方法会受到许多人的关注和喜爱。 首先,让我们来了解一...
    99+
    2023-09-11
    numpy 文件 索引
  • 如何使用python实现下拉选择框和页签
    本篇内容主要讲解“如何使用python实现下拉选择框和页签”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用python实现下拉选择框和页签”吧!ttk模块ttk是Python中的一个模块,...
    99+
    2023-07-05
  • Flutter图片与文件选择器使用实例
    目录引言一、image_picker1、安装2、使用3、属性4、注意二、flutter_document_picker1、安装2、使用总结引言 我已经一个多星期没碰过电脑了,今日上班...
    99+
    2023-01-30
    Flutter图片文件选择器 Flutter 选择器
  • 如何在Android中使用ExFilePicker文件选择器
    如何在Android中使用ExFilePicker文件选择器?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。首先需要在build.gradle添加引用:compi...
    99+
    2023-05-30
    android
  • 使用python实现下拉选择框和页签的方法
    目录前言ttk模块下拉选择框combobox下拉选择框2页签Notebook 前言 python学习之路任重而道远,要想学完说容易也容易,说难也难。很多人说python最好学了,但扪...
    99+
    2023-03-11
    python下拉选择框和页签 python下拉选择框 python页签 python选择框
  • 学习和实现Python中的选择排序算法
    理解Python中的选择排序原理与实现 选择排序(Selection Sort)是一种简单直观的排序算法,其基本思想是每次遍历数组,在未排序部分中选择最小(或最大)的元素,将其与未排序部分的第一个元素交换位置,然后继续从未排序部...
    99+
    2024-02-03
    原理 实现 选择排序 排列
  • vbs,hta中如何实现选择文件夹对话框
    小编给大家分享一下vbs,hta中如何实现选择文件夹对话框,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码如下:on error resume next Sel...
    99+
    2023-06-08
  • Android中如何使用aFileChooser第三方文件选择器
    Android中如何使用aFileChooser第三方文件选择器,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。(1) 首先要配置Androidmanifest.xml文件:&n...
    99+
    2023-05-31
    android
  • 使用VScode创建ipynb文件选择kernel运行python代码
    文章目录 前言使用VScode创建ipynb文件选择kernel允许python代码一些疑问PS 前言 为什么会有这么一篇博客呢?因为我NPY用vscode跑不起来python代码…不过经...
    99+
    2023-10-06
    vscode python 编辑器
  • 使用c#怎么实现一个颜色选择控件
    使用c#怎么实现一个颜色选择控件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。代码://颜色拾取框using System;using System.Com...
    99+
    2023-06-14
  • Linux系统中的文件处理:Python和Numpy是绝佳选择吗?
    Linux系统中的文件处理:Python和Numpy是绝佳选择吗? 在Linux系统中,文件处理是一个非常重要的任务,而Python和Numpy是两个被广泛使用的工具。但是,它们是否是处理文件的最佳选择呢?本文将探讨这个问题,并提供演示代码...
    99+
    2023-10-10
    numpy linux 文件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作