[Python] Créez un écran de spécification de chemin de fichier et de dossier avec tkinter

Dans tkinter, j'ai créé un écran pour spécifier les pièces jointes et les dossiers. Il est utile de pouvoir spécifier des fichiers et des dossiers avec l'interface graphique lors de la création de divers outils.

Qu'est-ce que tkinter

tkinter est un module standard qui est inclus par défaut lorsque Python est installé. Vous pouvez créer un écran GUI avec un code très simple. C'est un module pratique pour créer personnellement des outils d'interface graphique.

Les sites suivants sont faciles à comprendre pour une utilisation de base. Programmation GUI avec Tkinter

Référence des fichiers et dossiers

La fonction de référence à un fichier ou un dossier avec tkinter peut être implémentée à l'aide de filesialog. La façon de l'appeler dans le code est la suivante.

from tkinter import filedialog

Cette fois, j'ai implémenté deux fonctions en utilisant les éléments suivants de fileialog. 1、askdirectory C'est une fonction pour spécifier un répertoire. Cette fonction ouvre l'écran de l'image ci-dessous et vous pouvez spécifier le chemin du dossier. sample1.PNG 2、askopenfilename C'est une fonction pour spécifier la feuille. Cette fonction ouvre l'écran de l'image ci-dessous, et vous pouvez spécifier le chemin du fichier. sample2.PNG

la mise en oeuvre

Cette fois, j'ai créé l'écran GUI suivant. Si vous spécifiez le chemin du dossier et le chemin du fichier et appuyez sur le bouton d'exécution, le chemin spécifié par la fonction de boîte de message sera renvoyé. ** Image du haut de l'écran ** sample4.PNG ** Résultat de l'exécution (boîte de message) ** sample3.PNG Le code est ci-dessous.

tkinter_sample.py



import os,sys
from tkinter import *
from tkinter import ttk
from tkinter import messagebox
from tkinter import filedialog

#Fonction de spécification de dossier
def dirdialog_clicked():
    iDir = os.path.abspath(os.path.dirname(__file__))
    iDirPath = filedialog.askdirectory(initialdir = iDir)
    entry1.set(iDirPath)

#Fonction spécifiée par fichier
def filedialog_clicked():
    fTyp = [("", "*")]
    iFile = os.path.abspath(os.path.dirname(__file__))
    iFilePath = filedialog.askopenfilename(filetype = fTyp, initialdir = iFile)
    entry2.set(iFilePath)

#Fonction d'exécution lorsque le bouton d'exécution est enfoncé
def conductMain():
    text = ""
    
    dirPath = entry1.get()
    filePath = entry2.get()
    if dirPath:
        text += "Chemin du dossier:" + dirPath + "\n"
    if filePath:
        text += "Chemin du fichier:" + filePath

    if text:
        messagebox.showinfo("info", text)
    else:
        messagebox.showerror("error", "Aucun chemin n'est spécifié.")

if __name__ == "__main__":

    #Créer une racine
    root = Tk()
    root.title("échantillon")

    #Création de Frame1
    frame1 = ttk.Frame(root, padding=10)
    frame1.grid(row=0, column=1, sticky=E)

    #Créer une étiquette "référence de dossier"
    IDirLabel = ttk.Label(frame1, text="Se référer au dossier >>", padding=(5, 2))
    IDirLabel.pack(side=LEFT)

    #Création d'une entrée "Rechercher un dossier"
    entry1 = StringVar()
    IDirEntry = ttk.Entry(frame1, textvariable=entry1, width=30)
    IDirEntry.pack(side=LEFT)

    #Créer le bouton "Parcourir le dossier"
    IDirButton = ttk.Button(frame1, text="référence", command=dirdialog_clicked)
    IDirButton.pack(side=LEFT)

    #Création de Frame2
    frame2 = ttk.Frame(root, padding=10)
    frame2.grid(row=2, column=1, sticky=E)

    #Créer une étiquette "référence de fichier"
    IFileLabel = ttk.Label(frame2, text="Référence du dossier >>", padding=(5, 2))
    IFileLabel.pack(side=LEFT)

    #Créer une entrée "référence de fichier"
    entry2 = StringVar()
    IFileEntry = ttk.Entry(frame2, textvariable=entry2, width=30)
    IFileEntry.pack(side=LEFT)

    #Créer le bouton "Parcourir le fichier"
    IFileButton = ttk.Button(frame2, text="référence", command=filedialog_clicked)
    IFileButton.pack(side=LEFT)

    #Création de Frame3
    frame3 = ttk.Frame(root, padding=10)
    frame3.grid(row=5,column=1,sticky=W)

    #Installation du bouton d'exécution
    button1 = ttk.Button(frame3, text="Courir", command=conductMain)
    button1.pack(fill = "x", padx=30, side = "left")

    #Installation du bouton d'annulation
    button2 = ttk.Button(frame3, text=("Fermer"), command=quit)
    button2.pack(fill = "x", padx=30, side = "left")

    root.mainloop()

Résumé

Nous avons introduit la fonction pour spécifier le dossier et le chemin du fichier par la fonction de dialogue de fichier de tkinter. Si vous connectez un module de traitement à ce module, vous pouvez traiter n'importe quel dossier ou fichier.

Recommended Posts

[Python] Créez un écran de spécification de chemin de fichier et de dossier avec tkinter
[Python] Créez un fichier de distribution pour le programme Tkinter avec cx_Freeze
Créer un cadre avec un arrière-plan transparent avec tkinter [Python]
Créer un fichier exécutable GUI créé avec tkinter
Créer un fichier au format Photoshop (.psd) avec python
Créer un répertoire avec python
Créer un fichier CAO 2D ".dxf" avec python [ezdxf]
Manipulation de chemin de fichier / dossier en Python
Créer une interface graphique python à l'aide de tkinter
Créez un environnement virtuel avec Python!
Créer un fichier binaire en Python
Créer un téléchargeur de fichiers avec Django
[Python] Créer un écran pour le code d'état HTTP 403/404/500 avec Django
Lisez le fichier en Python avec un chemin relatif depuis le programme
Obtenez une liste de fichiers dans un dossier avec python sans chemin
Créer un décorateur de fonction Python avec Class
Créer un fichier power simple avec Python
Créez une image factice avec Python + PIL.
[Python] Créez un environnement virtuel avec Anaconda
Créons un groupe gratuit avec Python
Créez rapidement un fichier Excel avec Python #python
Créer une application graphique avec Tkinter de Python
Créer un gros fichier texte avec shellscript
Créer une machine virtuelle avec un fichier YAML (KVM)
Créer un fichier Excel avec Python + matrice de similarité
Créer un compteur de fréquence de mots avec Python 3.4
Créer un fichier deb à partir d'un package python
[GPS] Créer un fichier kml avec Python
J'ai créé un fichier de configuration avec Python
Un mémo organisé en renommant les noms de fichiers dans le dossier avec python
Comment lire un fichier CSV avec Python 2/3
Créer un fichier GIF en utilisant Pillow en Python
Créer un LINE BOT avec Minette pour Python
Comment créer un fichier JSON en Python
Créer un fichier PDF avec une taille de page aléatoire
Créer un environnement virtuel avec conda avec Python
Créer une page qui se charge indéfiniment avec python
[Note] Créez une classe de fuseau horaire sur une ligne avec python
Vous pouvez facilement créer une interface graphique même avec Python
Créer un environnement de construction python3 avec Sublime Text3
[Python] J'ai créé un téléchargeur Youtube avec Tkinter.
Créer une matrice avec PythonGUI (combo tkinter)
Créer une barre de couleurs avec Python + Qt (PySide)
Développer des applications Windows avec Python 3 + Tkinter (fichier exe)
Étapes pour créer un bot Twitter avec Python
Créer un arbre de décision à partir de 0 avec Python (1. Présentation)
Créer une nouvelle page en confluence avec Python
Créer un widget avec une couleur spécifiée avec Python + Qt (PySide)
Créez un fichier MIDI en Python en utilisant pretty_midi
Facile à créer une application console Python avec Click
Lire ligne par ligne à partir d'un fichier avec Python
Je veux écrire dans un fichier avec Python
Ouvrir la boîte de dialogue de fichier avec l'interface graphique Python (tkinter.filedialog)
Créer un cylindre avec une sortie de fichier open3d + STL
Comment déposer Google Docs dans un dossier dans un fichier .txt avec python
Créer un module Python
Créer un environnement Python
Créez une application graphique native avec Py2app et Tkinter
Essayez de créer un Checkbutton dynamiquement avec Tkinter en Python