データ ファイルを Python スクリプトにドラッグ アンド ドロップし、ファイルを処理して出力を生成したいと考えています。Python スクリプトはデータ ファイルの名前をコマンド ライン パラメーターとして受け入れますが、Windows エクスプローラーはスクリプトをドロップ ターゲットにすることを許可しません。
この作業のためにどこかで行う必要がある何らかの構成はありますか?
データ ファイルを Python スクリプトにドラッグ アンド ドロップし、ファイルを処理して出力を生成したいと考えています。Python スクリプトはデータ ファイルの名前をコマンド ライン パラメーターとして受け入れますが、Windows エクスプローラーはスクリプトをドロップ ターゲットにすることを許可しません。
この作業のためにどこかで行う必要がある何らかの構成はありますか?
もちろん。「Make Python Scripts Droppable in Windows」という無知な技術記事から、レジストリ キーを追加してドロップ ハンドラを追加できます。
これを行うために使用できるレジストリ インポート ファイルを次に示します。以下を .reg ファイルにコピーして実行します (.py 拡張子が Python.File にマップされていることを確認してください)。
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Python.File\shellex\DropHandler] @="{60254CA5-953B-11CF-8C96-00AA00B8708C}"
これにより、Python スクリプトは、長いファイル名と互換性のある WSH ドロップ ハンドラを使用します。短いファイル名ハンドラーを使用するには、GUID を に置き換えます86C86720-42A0-1069-A2E8-08002B30309D
。
その投稿のコメントは、およびクラスを使用して、「コンソールなしの Python ファイル ( .pyw
)」または「コンパイル済み Python ファイル ( )」のドロップを有効にできることを示しています。.pyc
Python.NoConFile
Python.CompiledFile
簡単なシェルスクリプトを書く ( file.bat
)
"C:\python27\python.exe" yourprogram.py %*
where%*
は、スクリプトに渡すすべての引数を表します。
file.bat
ターゲット ファイルをアイコンにドラッグ アンド ドロップします。
py2exe を使用してみてください。py2exe を使用して、Python スクリプトを Windows 実行可能ファイルに変換します。これで、入力ファイルを Windows エクスプローラーのスクリプトにドラッグ アンド ドロップできるようになります。デスクトップにショートカットを作成し、そこに入力ファイルをドロップすることもできます。また、Python スクリプトがファイル リストを取得できる場合は、スクリプト (またはショートカット) に複数のファイルをドラッグ アンド ドロップできるはずです。
ファイルのショートカットを作成します。デフォルトで python open .py ファイルがない場合は、ショートカットのプロパティに移動し、ショートカットのターゲットを編集して、使用している python バージョンを含めます。例えば:
ターゲット: C:\Python26\python.exe <ショートカット ターゲット パス>
レジストリを編集したくなかったので、これを投稿しています。.bat の回避策はうまくいきませんでした。
1)。.py のショートカットを作成します
2)。右クリック -> プロパティ
3)。プレフィックス「Target:」に「python」を付けて、.py を引数として python コマンド
または
1) に実行します。.bat を作成します
2)。python some.py %*
これらのショートカット バージョンは、私がやっていることを実行するのに最も簡単です
。
.py スクリプトで argv を使用しているが、ファイルをドラッグして実行できない場合は、Python Launcher (ロケット アイコン付き) を使用するだけで解決できます。
スクリプト プロパティ「ファイルを開く」は、スクリプトがコマンドライン引数「%*」を必要とすることを知らない python.exe として設定されました。