免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2638 | 回复: 0
打印 上一主题 下一主题

python读取注册表值 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-25 10:40 |只看该作者 |倒序浏览

本文转自:
http://hi.baidu.com/julabs/blog/item/4f62fd06d284cf7f020881e5.html

转自:http://tenyears.cn/
使用Python访问Windows的注册表

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 ModuleFile: 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'


原文地址
http://hi.baidu.com/julabs/blog/item/4f62fd06d284cf7f020881e5.html


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/94754/showart_1943843.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP