如何拖動文件到python腳本中作爲輸入參數?

默認情況下,我們無法拖放一個文件給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/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章