以前,我安裝了 Python 3.7.4,并且在 Win10 上運行良好。然后,第 3 方安裝程序(我不知道)安裝了 Python 2.7 ......這完全淹沒了我的 Python 環境(呃)。在刪除 Python 2.7 并運行 Python 3.7.4 的修復重新安裝后,它主要是備份和運行 - 除了能夠拖放到 .py 文件上。在 Windows Explorer和Python Drag -and-drop broken中拖放到 Python 腳本上,我嘗試過:注冊表:HKCR\.py=Python.File (when I first checked, it was set to py_auto_file, so I did have to change this)HKCR\Python.File\shell\open\command="C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\python.exe" "%1"HKCR\Python.File\shellex\DropHandler= I've tried {60254CA5-953B-11CF-8C96-00AA00B8708C}, {86C86720-42A0-1069-A2E8-08002B30309D}, and {BEA218D2-6950-497B-9434-61683EC065FE}通過上述更改,我能夠在拖放到 .py 文件時啟動 Python,但 sys.argv 不包含文件名(僅設置了 argv[0],而不是 argv[1])。顯然,我在每次測試之間重新啟動 Windows 資源管理器。在過去的幾個小時里,我一直在搜索和閱讀,但我發現的所有內容幾乎都包含上述 3 項更改的一些變體。通過將文件拖到 .py 腳本上來啟動 Python 時為什么不會設置 argv[1] 的任何想法?
2 回答

瀟湘沐
TA貢獻1816條經驗 獲得超6個贊
我設法通過以下方式解決了這個問題:
對 Python 3 進行修復重新安裝
修復并重新安裝 Python Launcher
創建 HKCU\Software\Classes\Python.File\shellex\DropHandler,默認={BEA218D2-6950-497B-9434-61683EC065FE}
修改 HKLM\Software\Classes\Python.File\shell\open\command,設置 default="C:\Users\my_user_name\AppData\Local\Programs\Python\Python37-32\python.exe" "%1" % *
添加回答
舉報
0/150
提交
取消