Choisir un fichier en Python avec une boîte de dialogue simple
Je voudrais obtenir le chemin du fichier en entrée dans mon application de console Python.
Actuellement, Je ne peux demander que le chemin complet en entrée dans la console.
Existe-t-il un moyen de déclencher une interface utilisateur simple où les utilisateurs peuvent sélectionner un fichier au lieu de taper le chemin complet?
5 réponses
Que diriez-vous d'utiliser tkinter?
from Tkinter import Tk
from tkinter.filedialog import askopenfilename
Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing
filename = askopenfilename() # show an "Open" dialog box and return the path to the selected file
print(filename)
Fait!
Python 3.X version de la réponse D'Etaoin pour l'exhaustivité:
from tkinter.filedialog import askopenfilename
filename = askopenfilename()
Utilisez le module tkFileDialog qui fait partie de l'installation standard.
import tkFileDialog
print tkFileDialog.askopenfilename()
Une Autre option à considérer est Zenity: http://freecode.com/projects/zenity.
J'ai eu une situation où je développais une application serveur Python (pas de Composant GUI) et donc je ne voulais pas introduire de dépendance sur les toolkits GUI python, mais je voulais que certains de mes scripts de débogage soient paramétrés par des fichiers d'entrée et je voulais inviter visuellement l'utilisateur à un fichier s'il n'en spécifiait pas un sur la ligne de commande. Zenity était un ajustement parfait. Pour y parvenir, invoquez " zenity -- file-selection " en utilisant le module de sous-processus et capturer le stdout. Bien sûr, cette solution n'est pas spécifique à Python.
Zenity prend en charge plusieurs plates-formes et s'est déjà installé sur nos serveurs de développement, ce qui a facilité notre débogage/développement sans introduire de dépendance indésirable.