
Mustafa Zengin
Ich möchte den Dateipfad als Eingabe in meiner Python-Konsolenanwendung erhalten.
Derzeit kann ich nur nach dem vollständigen Pfad als Eingabe in der Konsole fragen.
Gibt es eine Möglichkeit, eine einfache Benutzeroberfläche auszulösen, in der Benutzer eine Datei auswählen können, anstatt den vollständigen Pfad einzugeben?

Etaoin
Wie wäre es mit tkinter?
from Tkinter import Tk # from tkinter import Tk for Python 3.x
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)
Getan!
Python 3.x-Version von Etaoins Antwort der Vollständigkeit halber:
from tkinter.filedialog import askopenfilename
filename = askopenfilename()

jfs
Mit EasyGui:
import easygui
print(easygui.fileopenbox())
Installieren:
pip install easygui
Demo:
import easygui
easygui.egdemo()

Gary Kerr
Verwenden Sie in Python 2 die tkFileDialog
Modul.
import tkFileDialog
tkFileDialog.askopenfilename()
Verwenden Sie in Python 3 die tkinter.filedialog
Modul.
import tkinter.filedialog
tkinter.filedialog.askopenfilename()
Das hat bei mir funktioniert
Referenz : https://www.youtube.com/watch?v=H71ts4XxWYU
import tkinter as tk
from tkinter import filedialog
root = tk.Tk()
root.withdraw()
file_path = filedialog.askopenfilename()
print(file_path)

kylejmcintyre
Eine weitere zu berücksichtigende Option ist Zenity: http://freecode.com/projects/zenity.
Ich hatte eine Situation, in der ich eine Python-Serveranwendung (keine GUI-Komponente) entwickelte und daher keine Abhängigkeit von Python-GUI-Toolkits einführen wollte, aber ich wollte, dass einige meiner Debug-Skripte durch Eingabedateien parametrisiert werden und wollte Fordern Sie den Benutzer visuell zur Eingabe einer Datei auf, wenn er keine in der Befehlszeile angegeben hat. Zenity passte perfekt. Rufen Sie dazu „zenity –file-selection“ mit dem subprocess-Modul auf und erfassen Sie die Standardausgabe. Natürlich ist diese Lösung nicht Python-spezifisch.
Zenity unterstützt mehrere Plattformen und war zufällig bereits auf unseren Entwicklungsservern installiert, sodass es unser Debugging/Entwicklung erleichterte, ohne eine unerwünschte Abhängigkeit einzuführen.

Glen Whitney
Ich habe mit wxPython viel bessere Ergebnisse erzielt als mit tkinter, wie in dieser Antwort auf eine spätere doppelte Frage vorgeschlagen:
https://stackoverflow.com/a/9319832
Die wxPython-Version erzeugte den Dateidialog, der genauso aussah wie der Datei-Öffnen-Dialog von fast jeder anderen Anwendung auf meiner OpenSUSE Tumbleweed-Installation mit dem xfce-Desktop, während tkinter etwas Verkrampftes und Schwerlesbares mit einer ungewohnten Side-Scrolling-Oberfläche erzeugte.
10050400cookie-checkAuswählen einer Datei in Python mit einfachem Dialogyes
Gute Frage. Ich habe nur danach gesucht. Ich habe dafür gestimmt. Danke!
– Priya
28. Mai 2021 um 10:14 Uhr