微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python3读写windows注册表实例

网上的很多代码真的只能参考,有很多停留在python2的编码风格或者没更新新模块的语法沿用语法编写!(当然这是个人观点,如果是系统工程的编码优点还望指正)

winreg是内置模块,不用安装,直接上码

import winreg

dict1 = {}   #新建字典
reg_name = []   #新建数组,存放注册表名
reg_value = []    #新建数组,存放注册表值

key = winreg.CreateKey(winreg.HKEY_CURRENT_USER,
                     r"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders")

### 根据官网说明,windows注册表没有提供api返回表项数量,只能设置循环到最后强制退出,自己计算
try:
    i = 0
    while 1:
        name, value, type = winreg.EnumValue(key, i)
        reg_name.append(name)
        reg_value.append(value)
        dict1 = dict(zip(reg_name, reg_value))  #利用zip绑定两个返回项做成字典,方便查找
        i += 1
except OSError:
    pass

print(dict1.get('Desktop'))

方法可能有点笨拙,因为编程经验缺乏,如有建议还望大虾指导指正

备注:

新winreg模块使用CreateKey、OSError替代,保留OpenKey、WindowsError别名用作兼容!

删除还在研究,如有心得会补充更新,可以参考下面两个链接的说明

Reference:

https://blog.csdn.net/pondbay/article/details/9424817

https://blog.51cto.com/11097647/1888591

https://docs.python.org/3/library/winreg.html?highlight=winreg#  python官网描述winreg模块

来源:站长新闻

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐