Python模块——_winreg操作注册表
From: http://blog.sina.com.cn/s/blog_4b5039210100gmsb.html
用python操作修改windows注册表,显然要比用C或者C++简单。
主要参考资料:官方文档:http://docs.python.org/library/_winreg.html
通过python操作注册表主要有两种方式,一种是通过python的内置模块 _winreg,另一种方式就是Win32 Extension For Python的win32api模块。这里主要简单看看用内置模块 _winreg如何操作注册表。
1.读取
读取用的方法是OpenKey方法:打开特定的key
_winreg.OpenKey(key,sub_key,res=0,sam=KEY_READ)
例子:此例子是显示了本机网络配置的一些注册表项
#!/usr/bin/env python
#coding=utf-8
import _winreg
key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{0E184877-D910-4877-B 4C2-04F487B6DBB7}")
#获取该键的所有键值,遍历枚举
try:
i=0
while 1:
#EnumValue方法用来枚举键值,EnumKey用来枚举子键
name,value,type = _winreg.EnumValue(key,i)
print repr(name),value,type
i+=1
except WindowsError:
#假如知道键名,也可以直接取值
value,type = _winreg.QueryValueEx(key,"DhcpDefaultGateway")
print "默认网关地址----",value,type
运行的结果如下:
'UseZeroBroadcast' 0 4
'EnableDeadGWDetect' 1 4
'EnableDHCP' 1 4
'IPAddress' [u'0.0.0.0'] 7
'SubnetMask' [u'0.0.0.0'] 7
'DefaultGateway' [] 7
'DefaultGatewayMetric' [] 7
'NameServer' 10.0.0.10 1
'Domain' 1
'RegistrationEnabled' 1 4
'RegisterAdapterName' 0 4
'TCPAllowedPorts' [u'0'] 7
'UDPAllowedPorts' [u'0'] 7
'RawIPAllowedProtocols' [u'0'] 7
'NTEContextList' [u'0x00000004'] 7
'DhcpClassIdBin' None 3
'DhcpServer' 10.104.4.1 1
'Lease' 907200 4
'LeaseObtainedTime' 1264122113 4
'T1' 1264575713 4
'T2' 1264915913 4
'LeaseTerminatesTime' 1265029313 4
'IPAutoconfigurationAddress' 0.0.0.0 1
'IPAutoconfigurationMask' 255.255.0.0 1
'IPAutoconfigurationSeed' 0 4
'AddressType' 0 4
'IsServerNapAware' 0 4
'DhcpIPAddress' 10.104.5.15 1
'DhcpSubnetMask' 255.255.254.0 1
'DhcpRetryTime' 453598 4
'DhcpRetryStatus' 0 4
'DhcpNameServer' 10.0.0.10 1
'DhcpDefaultGateway' [u'10.104.4.1'] 7
'DhcpSubnetMaskOpt' [u'255.255.254.0'] 7
默认网关地址---- [u'10.104.4.1'] 7
2.创建 修改注册表
创建key:_winreg.CreateKey(key,sub_key)
删除key: _winreg.DeleteKey(key,sub_key)
删除键值: _winreg.DeleteValue(key,value)
给新建的key赋值: _winreg.SetValue(key,sub_key,type,value)
例子:
#!/usr/bin/env python
#coding=utf-8
import _winreg
key=_winreg.OpenKey(_winreg.HKEY_CURRENT_USER,r"Software\Microsoft\Windows\CurrentVersion\Explorer")
#删除键
_winreg.DeleteKey(key, "Advanced")
#删除键值
_winreg.DeleteValue(key, "IconUnderline")
#创建新的
newKey = _winreg.CreateKey(key,"MyNewkey")
#给新创建的键添加键值
_winreg.SetValue(newKey,"ValueName",0,"ValueContent")
-------------------------------------------------------------------------------
在python3以上,_winreg已经变成了winreg
Python模块——_winreg操作注册表相关推荐
- Python模块_winreg操作注册表
用python操作修改windows注册表,显然要比用C或者C++简单. 主要参考资料:官方文档:http://docs.python.org/library/_winreg.html 通过pytho ...
- 利用Python读取并操作注册表
利用Python读取并操作注册表 一.Python与注册表相关的库 winreg(主要) win32api 二.注册表结构:键.值 三.winreg--访问Windows注册表 1.模块功能: win ...
- 厉害了,Python也能操作注册表
点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 今 日 鸡 汤 多情只有春庭月,犹为离人照落花. 前言 大家好,我是IT共享者,人称 ...
- python _winreg 操作注册表
函数和作用: CloseKey() – 关闭一个Key ConnectRegistry() – 链接到其他机器的注册表 CreateKey() – 创建一个Key DeleteKey() – 删除一个 ...
- python操作注册表能干啥_转 python操作注册表模块_winreg
分类: WINDOWS 基本概念: KEY 键 Value 值 函数和作用: CloseKey() - 关闭一个Key ConnectRegistry() - 链接到其他机器的注册表 CreateKe ...
- python访问注册表_Python 操作注册表
通过Python操作注册表有两种方式,第一种是通过Python的内置模块 _winreg:另一种方式就是Win32 Extension For Python 的win32api模块,但是需要进行额外的 ...
- 删除python的注册表_Python操作注册表详细步骤介绍
Python操作注册表步骤之1.打开注册表 对注册表进行操作前,必须打开注册表.在Python中,可以使用以下两个函数:RegOpenKey和RegOpenKeyEx.其函数原型分别如下所示. Reg ...
- 【python之操作注册表】Python删除注册表节点下的值
[python操作注册表]Python删除注册表节点下的值 背景 本来是别的平台的一个bug,以为自己去沟通然后让他们修就好了,结果又是这样别人的坑自己来填.主要是在卸载的时候要删除注册表下的所有节点 ...
- 怎么删除python3.7注册表内容_python3操作注册表的方法(Url protocol)
使用python操作注册表的方法最近学习了一下,现在做一下笔记,由于对Python语言的使用还不是很熟练,所以写不出高大上的结构,但是解决问题搓搓有余了. 说道注册表顺便也说一说环境变量的修改(放下下 ...
最新文章
- 奇奇怪怪的冒泡排序 TOJ 2014: Scramble Sort
- REM重复制造MFBF功能
- code block怎样实现图形界面_Python 代码实现验证码识别,很稳
- 什么样的领导会给公司造成损失呢?
- 数百万的 Android 手机预装了危险的恶意软件!
- 打开模式时防止BODY滚动
- StarUML 系列,静态图与动态图,用例图,类图【ps:熟悉一下starUML】
- 勤哲web配置教程_勤哲excel服务器安装与使用
- html制作苹果手机屏幕,iphone怎么录屏幕点击动作(苹果手机的屏幕录制步骤)...
- S2B2B-云分销系统介绍
- PHP将数值金额转换为中文大写金额
- 论文阅读博客||很多论文阅读笔记
- Android app 启动优化
- 部落冲突-建筑大师基地军队建筑介绍(兵营、建筑大师训练营、星空实验室、战争机器)
- 多模态AI浪潮来袭,或造福数亿视障人群
- boss直聘上看信息 但是不会显示已读
- 移动端vue仿朋友圈项目总结
- Linux c 开发 - 指针
- Android ListView优化之局部刷新(更新)(非notifyDataSetChanged)
- ddk开发基础 makefile和source文件