Pythonコンソールアプリケーションの入力としてファイルパスを取得したいと思います。
現在、コンソールの入力としてフルパスのみを要求できます。
ユーザーがフルパスを入力する代わりにファイルを選択できるシンプルなユーザーインターフェイスをトリガーする方法はありますか?
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)
できた!
完全性に関するEtaoinの回答のPython 3.xバージョン:
from tkinter.filedialog import askopenfilename
filename = askopenfilename()
標準インストールの一部である tkFileDialog モジュールを使用します。
import tkFileDialog
print tkFileDialog.askopenfilename()
考慮すべきもう1つのオプションは、Zenityです。 http://freecode.com/projects/zenity 。
Pythonサーバーアプリケーション(GUIコンポーネントなし)を開発していたため、python GUIツールキットへの依存関係を導入したくありませんでしたが、デバッグスクリプトは入力ファイルによってパラメーター化され、コマンドラインでファイルを指定しなかった場合、ユーザーに視覚的にファイルを要求するようにしました。 Zenityはぴったりでした。これを実現するには、サブプロセスモジュールを使用して「zenity --file-selection」を呼び出し、stdoutをキャプチャします。もちろん、このソリューションはPython固有のものではありません。
Zenityは複数のプラットフォームをサポートしており、開発サーバーに既にインストールされているため、不要な依存関係を導入することなくデバッグ/開発を容易にしました。