web-dev-qa-db-fra.com

Comment sélectionner un répertoire et stocker l'emplacement à l'aide de tkinter dans Python

Je crée une interface graphique avec un bouton de navigation dont je veux seulement retourner le chemin. J'ai cherché des solutions utilisant du code comme ci-dessous.

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)

Cependant, je sais que Tkinter a un askopenfilename intégré qui est une ligne de code super simple pour ouvrir des fichiers. Existe-t-il un moyen de modifier cela pour retourner le répertoire au lieu d'un fichier? Existe-t-il une option plus petite que le plus gros morceau de code que j'ai publié?

26
Brad Conyers

Il semble que tkFileDialog.askdirectory devrait marcher. documentation

67
mgilson

Ce code peut vous être utile.

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