Ash*_*ppa 5 python registry windows-7 winreg
我试图通过Ned Batchelder 执行此脚本来切换.pyWindows上我的两个Python安装之间的文件关联.此Python脚本使用_winreg模块(winreg在Python 3.x中)编辑某些注册表值(修改的路径和值对可以todo在脚本的列表中看到).
我按如下方式执行此脚本:
> SwitchPy.py "C:\Program Files\Python26"
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
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
Run Code Online (Sandbox Code Playgroud)
我猜这可能与帐户权限有关.但是,请注意:
上面使用的帐户是该Administrators组的一部分,并具有管理员权限.
使用上述帐户,我可以执行regedit.exe并手动设置脚本中列出的值,而不会遇到任何权限或访问问题.
我使用的是Windows 7,并且是域名的一部分.这可能与这个问题有什么关系吗?
有没有人对这个错误有任何线索?如何让这个脚本运行?
当我尝试该方法时,我收到“找不到路径”错误Python.CompiledFile。
我在注册表中检查了它,它不存在,但 Windows 7 不存在。
所以,我删除了这些行Python.CompiledFile并且它在这里运行良好,或者
您可以放置try: except: On OpenKey 和 SetValue,但这不是一个好主意。