python读取注册表中值的方法

 更新时间:2013年04月08日 17:12:56   投稿:shangke  
在Python的标准库中,_winreg.pyd可以操作Windows的注册表,另外第三方的win32库封装了大量的Windows API,使用起来也很方便。不过这里介绍的是使用_winreg操作注册表,毕竟是Python自带的标准库,无需安装第三方库

在Python的标准库中,_winreg.pyd可以操作Windows的注册表,另外第三方的win32库封装了大量的Windows API,使用起来也很方便。不过这里介绍的是使用_winreg操作注册表,毕竟是Python自带的标准库,无需安装第三方库。

下面的例子是通过Python获取Windows XP下已经安装的补丁号。Windows的补丁号都在“HKEY_LOCAL_MACHINE\SOFTWARE\\Microsoft\\Updates”下,通过循环下面所有的目录节点,如果找到的名称符合正则表达式KB(\d{6}).*,则表示是一个补丁号。

从例子可以看出操作起来非常的简单和快速。

# -*- coding: utf-8 -*-
# 获取Windows的已打的补丁号

from _winreg import *
import re

def subRegKey(key, pattern, patchlist):
  # 个数
  count = QueryInfoKey(key)[0]
  for index in range(count):
    # 获取标题
    name = EnumKey(key, index)
    result = patch.match(name)
    if result:
      patchlist.append(result.group(1))
    sub = OpenKey(key, name)
    subRegKey(sub, pattern, patchlist)
    CloseKey(sub)

if __name__ == '__main__':
  patchlist = []
  updates = 'SOFTWARE\\Microsoft\\Updates'
  patch = re.compile('(KB\d{6}).*')
  key = OpenKey(HKEY_LOCAL_MACHINE, updates)
  subRegKey(key, patch, patchlist)
  print 'Count: ' + str(len(patchlist))
  for p in patchlist:
    print p
  CloseKey(key) 

下面内容转自  Python Standard Library12.13 The _winreg Module
(Windows only, New in 2.0) The _winreg module provides a basic interface to the Windows registry database. Example 12-17 demonstrates the module.

Example 12-17. Using the _winreg Module
File: winreg-example-1.py

import _winreg

explorer = _winreg.OpenKey(
  _winreg.HKEY_CURRENT_USER,
  "Software\\Microsoft\\Windows\CurrentVersion\\Explorer"
  )

#list values owned by this registry key 
try:
  i = 0
  while 1:
   name, value, type= _winreg.EnumValue(explorer, i)
   print repr(name),
   i += 1
except WindowsError:
  print

value, type = _winreg.QueryValueEx(explorer, "Logon User Name")

print
print "user is", repr(value)


'Logon User Name' 'CleanShutdown' 'ShellState' 'Shutdown Setting'
'Reason Setting' 'FaultCount' 'FaultTime' 'IconUnderline'...

user is u'Effbot'

好了这篇文章就先介绍到这了

相关文章

  • Python实现在线音乐播放器

    Python实现在线音乐播放器

    这篇文章主要为大家详细介绍了Python实现在线音乐播放器的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • python 字典常用方法超详细梳理总结

    python 字典常用方法超详细梳理总结

    这篇文章主要介绍了Python数据类型字典dictionary,字典是另一种可变容器模型,且可存储任意类型对象。本篇文字将详细讲述字典的常用方法,需要的可以参考一下
    2022-03-03
  • Python Web项目Cherrypy使用方法镜像

    Python Web项目Cherrypy使用方法镜像

    这篇文章主要介绍了Python Web项目Cherrypy使用方法镜像,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • python强大的hook函数使用及应用场景

    python强大的hook函数使用及应用场景

    钩子函数(hook function)是把我们自己实现的hook函数在某一时刻挂接到目标挂载点上,这篇文章主要介绍了python强大的hook函数使用及应用场景,需要的朋友可以参考下
    2023-05-05
  • 如何将matlab数据导入到Python中使用

    如何将matlab数据导入到Python中使用

    这篇文章主要介绍了如何将matlab数据导入到Python中使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • python请求域名requests.(url = 地址)报错

    python请求域名requests.(url = 地址)报错

    本文主要介绍了python请求域名requests.(url = 地址)报错,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 详解Open Folder as PyCharm Project怎么添加的方法

    详解Open Folder as PyCharm Project怎么添加的方法

    这篇文章主要介绍了详解Open Folder as PyCharm Project怎么添加的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • python中的decorator的作用详解

    python中的decorator的作用详解

    这篇文章主要介绍了python中的decorator的作用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • python飞机大战pygame碰撞检测实现方法分析

    python飞机大战pygame碰撞检测实现方法分析

    这篇文章主要介绍了python飞机大战pygame碰撞检测实现方法,结合实例形式分析了Python使用pygame实现飞机大战游戏中碰撞检测的原理与相关操作技巧,需要的朋友可以参考下
    2019-12-12
  • Python程序员面试题 你必须提前准备!

    Python程序员面试题 你必须提前准备!

    Python程序员面试,这些问题你必须提前准备!供广大Python程序员参考,预祝大家顺利通过面试。
    2018-01-01

最新评论