默認情況下,我們無法拖放一個文件給python腳本讓其去處理這個文件,這是因爲windows認爲python腳本不是一個合法的可拖放的目的對象(drop target)。爲了實現拖放目的,我們只需在註冊表中配置一下即可,具體做法爲:
新建.reg文件,文件名隨意,內容爲:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Python.File\shellex\DropHandler]
@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"
保存後執行。
之後,我們可以寫個腳本測試下:
import sys
for arg in sys.argv:
print arg
raw_input()
將該腳本保存爲test_droppable.py,然後拖動另一文件(比如爲noname.txt)到該腳本之上,如果成功,會出現一個cmd窗口,內容爲:
其中 第一行爲執行腳本名,對應着sys.argv[0],第二行爲該腳本的第一個參數,即被拖入的文件名,對應着sys.argv[1],測試成功。
參考資料:
Drag and drop onto Python script in Windows Explorer http://stackoverflow.com/questions/142844/drag-and-drop-onto-python-script-in-windows-explorer
Make Python Scripts Droppable in Windows http://mindlesstechnology.wordpress.com/2008/03/29/make-python-scripts-droppable-in-windows/