我正在尝试执行 this script由 Ned Batchelder 在 Windows 上的两个 Python 安装之间切换 .py
文件关联。此 Python 脚本使用 _winreg
模块(Python 3.x 中的 winreg
)来编辑某些 Registry 值(修改的路径和值对可以在 todo
列表中看到脚本)。
我按如下方式执行这个脚本:
> SwitchPy.py "C:\Program Files\Python26"
我收到以下错误:
Traceback (most recent call last):
File "C:\Users\SuperUser\SwitchPy.py", line 30, in <module>
key = reg.OpenKey(classes_root, path, 0, reg.KEY_SET_VALUE)
WindowsError: [Error 5] Access is denied
我猜想可能是账号权限的问题。但是,请注意:
上面使用的帐户是
Administrators
组的一部分,具有管理员权限。使用上述帐户,我可以执行
regedit.exe
并手动设置脚本中列出的值,而不会遇到任何权限或访问问题。
我正在使用 Windows 7 并且是域的一部分。这可能与这个问题有关吗?
有人知道这个错误吗?如何运行此脚本?
最佳答案
当我尝试那个时,我在 Python.CompiledFile
上收到“找不到路径”错误。
我在我的注册表中检查过它,它不存在,但不是 Windows 7。
所以,我删除了 Python.CompiledFile
的那几行,它在这里运行良好,或者
您可以将 try: except:
放在 OpenKey 和 SetValue 上,但这不是个好主意。
关于Python:在 Windows 7 上使用 _winreg 编辑注册表值时出现 WindowsError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1845650/