44

我正在创建一个带有浏览按钮的 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的代码,它是用于打开文件的超级简单的一行代码。有没有办法修改它以返回目录而不是文件?是否有比我发布的较大代码块更小的选项?

4

2 回答 2

96

看来tkFileDialog.askdirectory应该可以。文件

于 2012-07-02T14:58:16.730 回答
30

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

from tkinter import filedialog
from tkinter import *
root = Tk()
root.withdraw()
folder_selected = filedialog.askdirectory()
于 2018-03-21T05:59:53.060 回答