我正在开发一个Python3.7脚本,它最终将像reg.exe那样成为一个CLI程序。我的目标是包括添加,删除和查询键和子键的能力。此时,我可以创建一个新键并遍历特定路径中的所有键;一旦我尝试向我创建的新键写入一个值,就会被拒绝WinError 5访问。
我是否可以在脚本中包括一种访问注册表的方法?
我仍然是Python和编程的初学者,我看过一些文档,但我不明白这一点。
任何帮助都将不胜感激。我的代码太远了:
import winreg
reg_connection = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER)
reg_key = winreg.OpenKey(reg_connection, r"SOFTWARE\Microsoft\\")
winreg.CreateKey(reg_key, "New Key")
for key in range(3000):
try:
show_sub_keys = winreg.EnumKey(reg_key, key)
print(show_sub_keys)
except WindosError:
break
new_key_value = winreg.OpenKey(reg_connection, r"SOFTWARE\Microsoft\New Key")
winreg.SetValueEx(new_key_value, "New Value",0,winreg.REG_SZ, "This Value")
winreg.CloseKey(new_key_value)发布于 2018-12-08 20:42:00
new_key_value = winreg.OpenKey(reg_connection,r"SOFTWARE\Microsoft\New Key")
在这里,您没有为可选的access参数指定参数,因此调用传递了KEY_READ的默认值。因此,您只能从键中读取,而不能写入。
应该为access参数传递一个参数,该参数指定所需的权限:
new_key_value = winreg.OpenKey(reg_connection, r"SOFTWARE\Microsoft\New Key", 0,
winreg.KEY_SET_VALUE)有关详细信息,请参阅winreg参考。
https://stackoverflow.com/questions/53686411
复制相似问题