为了账号安全,请及时绑定邮箱和手机立即绑定

Python 3.x 拖放在 Windows 中损坏

Python 3.x 拖放在 Windows 中损坏

桃花长相依 2022-06-14 14:49:28
以前,我安装了 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 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

鉴于它的Windows,您是否尝试过重新启动?



查看完整回答
反对 回复 2022-06-14
?
潇湘沐

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" % *


查看完整回答
反对 回复 2022-06-14
  • 2 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信