Je voudrais obtenir le chemin du fichier en entrée dans mon application console Python.
Actuellement, je ne peux demander le chemin complet que comme 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?
python
user-interface
dialog
filechooser
Mustafa Zengin
la source
la source
Version Python 3.x de la réponse d'Etaoin pour l'exhaustivité:
la source
import tkinter
+tkinter.Tk().withdraw()
.Avec EasyGui (documentation générée par pydoc et epydoc pour la version 0.96):
À installer:
Démo:
la source
invalid syntax
erreurprint easygui.diropenbox()
?Dans Python 2, utilisez le
tkFileDialog
module.Dans Python 3, utilisez le
tkinter.filedialog
module.la source
Une autre option à considérer est Zenity: http://freecode.com/projects/zenity .
J'avais une situation où je développais une application serveur Python (pas de composant GUI) et je ne voulais donc pas introduire de dépendance sur les toolkits d'interface graphique 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 demander visuellement à l'utilisateur un fichier s'il n'en a pas spécifié un sur la ligne de commande. Zenity était un ajustement parfait. Pour ce faire, appelez "zenity --file-selection" en utilisant le module de sous-processus et capturez la sortie stdout. Bien sûr, cette solution n'est pas spécifique à Python.
Zenity prend en charge plusieurs plates-formes et était 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.
la source
J'ai obtenu de bien meilleurs résultats avec wxPython qu'avec tkinter, comme suggéré dans cette réponse à une question en double ultérieure:
https://stackoverflow.com/a/9319832
La version wxPython a produit la boîte de dialogue de fichier qui ressemblait à la boîte de dialogue de fichier ouvert à partir de n'importe quelle autre application sur mon installation OpenSUSE Tumbleweed avec le bureau xfce, tandis que tkinter produisait quelque chose d'étroit et de difficile à lire avec une interface de défilement latéral inconnue.
la source