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 相关文章推荐
基于Django的python验证码(实例讲解)
Oct 23 Python
python 简单备份文件脚本v1.0的实例
Nov 06 Python
分分钟入门python语言
Mar 20 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
Apr 19 Python
详解python中的Turtle函数库
Nov 19 Python
python使用matplotlib画柱状图、散点图
Mar 18 Python
PyTorch之图像和Tensor填充的实例
Aug 18 Python
python使用Geany编辑器配置方法
Feb 21 Python
python+gdal+遥感图像拼接(mosaic)的实例
Mar 10 Python
django 实现简单的插入视频
Apr 07 Python
使用Python提取文本中含有特定字符串的方法示例
Dec 09 Python
Python离线安装openpyxl模块的步骤
Mar 30 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
PHP 获取远程文件内容的函数代码
2010/03/24 PHP
PHP可变函数的使用详解
2013/06/14 PHP
php实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
2014/10/29 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
php获取POST数据的三种方法实例详解
2016/12/20 PHP
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
JS获取后台Cookies值的小例子
2013/03/04 Javascript
javascript RegExp 使用说明
2016/05/21 Javascript
深入理解Vuex 模块化(module)
2017/09/26 Javascript
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
JS原生带缩略图的图片切换效果
2018/10/10 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
Python语言进阶知识点总结
2019/05/28 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
2019/07/03 Python
python Kmeans算法原理深入解析
2019/08/23 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
2020/04/13 Python
在python中使用nohup命令说明
2020/04/16 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
浅谈matplotlib中FigureCanvasXAgg的用法
2020/06/16 Python
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
CSS3 实现的火焰动画
2020/12/07 HTML / CSS
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
Rowdy Gentleman服装和配饰:美好时光
2019/09/24 全球购物
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
2015/08/25 面试题
银行见习期自我鉴定
2014/01/29 职场文书
军人违纪检讨书
2014/02/04 职场文书
室内设计专业自荐信
2014/05/31 职场文书
公司借款担保书
2015/09/22 职场文书
mysql知识点整理
2021/04/05 MySQL
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python