I am working in Mac OS X and have been writing simple file/folder copy scripts in Python. Is there a way to drag and drop a folder on top of a Python script icon and pass the file or folder's path as an argument in the script?
Currently, I have an AppleScript droplet (which supports drag and drop) that passes the paths of dropped folders and files to Python. However, I would like to have just one Python script instead of an AppleScript and a Python script.
Any help would be greatly appreciated.
Just use the "Build Applet" utility:
/Developer/Applications/Utilities/MacPython\ 2.5/Build\ Applet.app
and the dropped file paths will be available thru sys.argv.
Note that you may have to use Python2.5 (or a patched version) --
See this note: https://bitbucket.org/ronaldoussoren/py2app/issue/16/argv-emulation-code-needs-rewrite
Quick example -- edit this file and put it on your desktop:
#!/usr/bin/python2.5
import sys
print sys.argv
Control-click on it, and select open with "Build Applet (2.5.4)"
App icon will appear on desktop.
Open Console Utility & clear display.
Drop some files onto App icon -- you'll see the print in the console window.