如何在 Python 中使用 tkinter 选择目录并存储位置

Posted

技术标签:

【中文标题】如何在 Python 中使用 tkinter 选择目录并存储位置【英文标题】:How to select a directory and store the location using tkinter in Python 【发布时间】:2012-07-02 23:59:45 【问题描述】:

我正在创建一个带有浏览按钮的 GUI,我只想返回路径。我一直在寻找使用如下代码的解决方案。

Tkinter.Button(subframe, text = "Browse", command = self.loadtemplate, width = 10).pack()

   def loadtemplate(self): 
        filename = tkFileDialog.askopenfilename(filetypes = (("Template files", "*.tplate")
                                                             ,("html files", "*.html;*.htm")
                                                             ,("All files", "*.*") ))
        if filename: 
            try: 
                self.settings["template"].set(filename)
            except: 
                tkMessageBox.showerror("Open Source File", "Failed to read file \n'%s'"%filename)

但是我知道 Tkinter 有一个内置的askopenfilename,这是用于打开文件的超级简单的一行代码。有没有办法修改它以返回目录而不是文件?有没有比我发布的大块代码更小的选项?

【问题讨论】:

【参考方案1】:

看来tkFileDialog.askdirectory 应该可以工作。 documentation

【讨论】:

谢谢@crash——我已经更新了答案中的链接。 askdirectory 的文档似乎只包含有关 Python 2.7 版本的信息。没有第3版吗?【参考方案2】:

此代码可能对您有所帮助。

from tkinter import filedialog
from tkinter import *
root = Tk()
root.withdraw()
folder_selected = filedialog.askdirectory()

【讨论】:

我刚刚对此进行了一些研究,所以我认为 root.withdraw() 可以解决这个问题:***.com/questions/9319317/… - 他们想知道如何关闭根窗口一个命令行程序。

以上是关于如何在 Python 中使用 tkinter 选择目录并存储位置的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Tkinter 中选择颜色?

如何在不单击tkinter python的情况下读取单选按钮值

在python tkinter中为事件创建日历视图[关闭]

python tkinter treeview右键单击(Button-3)事件以选择树视图中的项目

如何在 tkinter 中显示数据框

python-tkinter如何打开动图(.gif)?