python使用_winreg模块操作注册表

马谦马谦马谦 2017年12月3日11:34:43 发表评论
文章最后编辑于:2017-12-3 13:05:38

一、基本操作

python中的_winreg模块提供了对于windows平台下注册表的一些基本操作,包括对键值的枚举以及增加删除键等,以HKEY_CURRENT_USERConsole为例:

python使用_winreg模块操作注册表

  • OpenKey(key, subKey):打开一个键,第一个参数是常量,例如reg.HEKY_CURRENT_USER,已经被系统定义好。
  • CloseKey(key):关闭打开的键。
  • EnumKey(key, index):枚举所有的key
  • EnumValue(key, index):枚举所有的value,有三个返回值:键值名键值键类型

例如,枚举上面注册表所有的键值:

输出:

二、增加和删除键值

  • CreateKey(key, sub_key):创建一个新键,如果键存在就不会创建。
  • SetValueEx(key, value_name, reserved, type, value):给一个键值赋值,如果键不存在将会自动创建。
  • SetValue(key, sub_key, type, value):设置一个子键,并给予一个默认值value
  • DeleteKey(key, sub_key):删除键

示例:

运行后的结果:

python使用_winreg模块操作注册表

三、问题

3.1 WindwosError: Error 5

没有权限导致的,OpenKey中的sam变量表明了操作的权限,默认是KEY_READ,改成KEY_ALL_ACCESS然后以管理员身份运行即可。例如:

 

 

本文共执行46次查询,耗时0.294秒!
马谦马谦马谦

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: