Выбор файла в Python с помощью простого диалога
Я хотел бы получить путь к файлу в качестве входных данных в моем консольном приложении Python.
В настоящее время я могу только попросить полный путь в качестве входного сигнала в консоли.
есть ли способ запустить простой пользовательский интерфейс, где пользователи могут выбрать файл вместо ввода полного пути?
5 ответов:
Как насчет использования 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)готово!
Python 3.x версия ответа Этаоина для полноты:
from tkinter.filedialog import askopenfilename filename = askopenfilename()
использовать tkFileDialog модуль, который является частью стандартной установки.
import tkFileDialog print tkFileDialog.askopenfilename()
еще один вариант для рассмотрения-это Зенит: http://freecode.com/projects/zenity.
У меня была ситуация, когда я разрабатывал серверное приложение Python (без компонента GUI) и, следовательно, не хотел вводить зависимость от каких-либо наборов инструментов Python GUI, но я хотел, чтобы некоторые из моих сценариев отладки были параметризованы входными файлами и хотели визуально запрашивать пользователя для файла, если они не указали его в командной строке. Зенит был идеально подходит. Добиться этого, вызовите "zenity --file-selection" с помощью модуля подпроцесса и захватите stdout. Конечно, это решение не зависит от Python.
Zenity поддерживает несколько платформ и уже установлен на наших серверах dev, поэтому он облегчил нашу отладку/разработку без введения нежелательной зависимости.
Comments