2011-08-06 19 views
3

ドラッグアンドドロップメソッドを実装して、Pythonスクリプトがファイルのパスを処理するクロスプラットフォームの方法を探しています。現時点では私は手動でターミナルに移動し、sys.argv方法を使用します。ドロップファイルをPythonスクリプトにドラッグ

python myscript.py /Python/myfile.xls 

をしかし、これは遅いと「テッキー」です。理想的には、Pythonスクリプトでファイルを処理できるようにすばやくインタラクティブな方法をとっています。私は主にこれをMac用に動作させる必要がありますが、クロスプラットフォームが優れています。

答えて

0

Tkinterなどで小さなGUIを作成し、GUI内からファイルを選択させるのが最も簡単です。これらの行に沿ったもの:

import tkFileDialog 
f = tkFileDialog.askopenfilename() 
# Go on from there; f is a handle to the file that the user picked 

ドラッグ&ドロップで動作するスクリプトを作成するクロスプラットフォームの方法はわかりません。しかし、これはおそらく簡単です。

+5

これは、質問された内容に対する回答ではありません。 – Kobor42

1

ファイルナビゲータ内のpythonスクリプトにmyfile.xlsをドラッグアンドドロップしますか? Finderなど、Mac、Explorer on Win、Nautilusなどについて教えてください。その場合、異なるシステム上の異なるソフトウェアに接続する必要があるため、単純なクロスプラットフォームソリューションはありません。 Macの具体的な解決のために

AppleScriptを試す - ここsample

で、何かPython的のためにhttp://appscript.sourceforge.net/があり、http://docs.python.org/library/macosa.html

そうでなければ解決策は、上記の回答です。 TkまたはwxまたはQTで構築されたカスタムGUIを使用します。ドラッグアンドドロップのそれぞれのドキュメントを参照することができます、彼らはそれを行うクロスプラットフォームの方法があります。

+0

あなたは真剣に2011年にMacでこれをアップルスクリプトする必要がありますか? Windowsのインストールではこれが自動的に設定され、ドロップされたファイルは 'argv'に送られます。 –

2

あなたはTkinterのを使用したい場合は、実行すると、ここでhttp://klappnase.bubble.org/TkinterDnD/index.html

から結合Tkinterのドラッグ&ドロップを見て、バインディングは、あなたがそれに上のファイルをドラッグすることを可能にするリストボックスとの一例を示しています。

+0

このバインディングはありますか?それはもはやアクセスできない。また、この同じ問題に関する新しい質問については、この質問http://stackoverflow.com/questions/14267900/python-drag-and-drop-explorer-files-to-tkinterent-widgetを参照してください。 – mmgp

+0

@ mmgp WayBackを使用してzipを取得することができます(http://web.archive.org/web/20120104000747/http://klappnase.bubble.org/download/TkinterDnD-0.4.zip) –

関連する問題