python读取注册表中值的方法


Posted in Python onApril 08, 2013

在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中的控制流语句的知识点
Apr 14 Python
Python程序中使用SQLAlchemy时出现乱码的解决方案
Apr 24 Python
简单谈谈python中的Queue与多进程
Aug 25 Python
Python 由字符串函数名得到对应的函数(实例讲解)
Aug 10 Python
人工智能最火编程语言 Python大战Java!
Nov 13 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
Aug 31 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
Sep 25 Python
基于python读取.mat文件并取出信息
Dec 16 Python
jupyter修改文件名方式(TensorFlow)
Apr 21 Python
将python字符串转化成长表达式的函数eval实例
May 11 Python
python 多线程共享全局变量的优劣
Sep 24 Python
python statsmodel的使用
Dec 21 Python
重命名批处理python脚本
Apr 05 #Python
Python编写的com组件发生R6034错误的原因与解决办法
Apr 01 #Python
Python中用Ctrl+C终止多线程程序的问题解决
Mar 30 #Python
python利用hook技术破解https的实例代码
Mar 25 #Python
利用python获得时间的实例说明
Mar 25 #Python
python 将字符串转换成字典dict
Mar 24 #Python
使用python提取html文件中的特定数据的实现代码
Mar 24 #Python
You might like
一个没有MYSQL数据库支持的简易留言本的编写
2006/10/09 PHP
PHP得到mssql的存储过程的输出参数功能实现
2012/11/23 PHP
浅谈discuz密码加密的方式
2014/05/22 PHP
PHP整合PayPal支付
2015/06/11 PHP
PHP生成树的方法
2015/07/28 PHP
php实现数组纵向转横向并过滤重复值的方法分析
2017/05/29 PHP
laravel添加前台跳转成功页面示例
2019/10/22 PHP
asp 的 分词实现代码
2007/05/24 Javascript
IE6、IE7中获取Button元素的值的bug说明
2011/08/28 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
JS OffsetParent属性深入解析
2014/01/13 Javascript
详解javascript跨浏览器事件处理程序
2016/03/27 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
Vue监听数据对象变化源码
2017/03/09 Javascript
微信小程序 生命周期函数详解
2017/05/24 Javascript
详解从新建vue项目到引入组件Element的方法
2017/08/29 Javascript
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
微信头像地址失效踩坑记附带解决方案
2019/09/23 Javascript
微信小程序自定义底部弹出框功能
2020/11/18 Javascript
python的即时标记项目练习笔记
2014/09/18 Python
Django读取Mysql数据并显示在前端的实例
2018/05/27 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
2019/08/27 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
Zavvi西班牙:电子游戏、极客服装、Blu-ray、Funko Pop等
2019/05/03 全球购物
三年级数学教学反思
2014/01/31 职场文书
大学生毕业求职自荐书范文
2014/02/04 职场文书
银行给客户的感谢信
2015/01/23 职场文书
认真学习保证书
2015/02/26 职场文书
2016应届大学生自荐信模板
2016/01/28 职场文书
情况说明书格式及范文
2019/06/24 职场文书
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python