Drag and drop onto Python script in Windows Explorer Drag and drop onto Python script in Windows Explorer windows windows

Drag and drop onto Python script in Windows Explorer


Sure. From a mindless technology article called "Make Python Scripts Droppable in Windows", you can add a drop handler by adding a registry key:

Here’s a registry import file that you can use to do this. Copy the following into a .reg file and run it (Make sure that your .py extensions are mapped to Python.File).

Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Python.File\shellex\DropHandler]@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"

This makes Python scripts use the WSH drop handler, which is compatible with long filenames. To use the short filename handler, replace the GUID with 86C86720-42A0-1069-A2E8-08002B30309D.

A comment in that post indicates that one can enable dropping on "no console Python files (.pyw)" or "compiled Python files (.pyc)" by using the Python.NoConFile and Python.CompiledFile classes.


write a simple shell script (file.bat)

"C:\python27\python.exe" yourprogram.py %*

where %* stands for the all arguments you pass to the script.

Now drag & drop your target files on the file.bat icon.


With an installed python - at least 2.6.1 - you can just drag and drop any file on a python script.

import sysdroppedFile = sys.argv[1]print droppedFile

sys.argv[0] is the script itself. sys.argv[n+1] are the files you have dropped.