用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:

print

#假如知道键名,也可以直接取值

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")

转载于:https://www.cnblogs.com/liuqing0328/p/5064027.html

Python模块_winreg操作注册表相关推荐

  1. Python模块——_winreg操作注册表

    From: http://blog.sina.com.cn/s/blog_4b5039210100gmsb.html 用python操作修改windows注册表,显然要比用C或者C++简单. 主要参考 ...

  2. 利用Python读取并操作注册表

    利用Python读取并操作注册表 一.Python与注册表相关的库 winreg(主要) win32api 二.注册表结构:键.值 三.winreg--访问Windows注册表 1.模块功能: win ...

  3. 厉害了,Python也能操作注册表

    点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 今 日 鸡 汤 多情只有春庭月,犹为离人照落花. 前言 大家好,我是IT共享者,人称 ...

  4. python _winreg 操作注册表

    函数和作用: CloseKey() – 关闭一个Key ConnectRegistry() – 链接到其他机器的注册表 CreateKey() – 创建一个Key DeleteKey() – 删除一个 ...

  5. python操作注册表能干啥_转 python操作注册表模块_winreg

    分类: WINDOWS 基本概念: KEY 键 Value 值 函数和作用: CloseKey() - 关闭一个Key ConnectRegistry() - 链接到其他机器的注册表 CreateKe ...

  6. python访问注册表_Python 操作注册表

    通过Python操作注册表有两种方式,第一种是通过Python的内置模块 _winreg:另一种方式就是Win32 Extension For Python 的win32api模块,但是需要进行额外的 ...

  7. 删除python的注册表_Python操作注册表详细步骤介绍

    Python操作注册表步骤之1.打开注册表 对注册表进行操作前,必须打开注册表.在Python中,可以使用以下两个函数:RegOpenKey和RegOpenKeyEx.其函数原型分别如下所示. Reg ...

  8. 【python之操作注册表】Python删除注册表节点下的值

    [python操作注册表]Python删除注册表节点下的值 背景 本来是别的平台的一个bug,以为自己去沟通然后让他们修就好了,结果又是这样别人的坑自己来填.主要是在卸载的时候要删除注册表下的所有节点 ...

  9. 怎么删除python3.7注册表内容_python3操作注册表的方法(Url protocol)

    使用python操作注册表的方法最近学习了一下,现在做一下笔记,由于对Python语言的使用还不是很熟练,所以写不出高大上的结构,但是解决问题搓搓有余了. 说道注册表顺便也说一说环境变量的修改(放下下 ...

最新文章

  1. Filecoin: 影响力容错(PFT)和预期共识(EC)
  2. Async await 异步编程说明
  3. boost::program_options模块一个配置ini文件被解析程序选项库,它包括许多不同的值类型的测试程序
  4. 全球 android手机排行 2013,全球Android手机性能排行 三星Note 3夺魁
  5. 设计模式之观察者模式(Observer Pattern)
  6. 网页交互式MATLAB入门教程
  7. 操作系统【时间片轮转调度算法 课本例题】
  8. Tampermonkey油猴教程及Greasyfork脚本使用
  9. 【工具】IDEA打包jar包
  10. oracle 中符号%3e,Oracle 数据类型
  11. 启用共享文件夹服务器,Windows Server 2008 启用公共文件夹共享
  12. 金蝶云苍穹开发实用整理
  13. msi计算机主板,整套解决方案:MSI主板BIOS编程器_计算机硬件和网络_IT /计算机_信息...
  14. linux安装iscsi设备,Linux安装管理ISCSI卷(initiator端)
  15. 大学web基础期末大作业~仿品优购商城页面制作(HTML+CSS+JavaScript)
  16. 数学知识补充(一)度量空间
  17. vb.net操作数据库之ACCESS(3)
  18. CSS-- 精灵图和字体图标
  19. 数据库------DQL操作
  20. 什么击计算机窗口可以打开资源管理器,在win7中双击打开计算机和右击打开资源管理器有什么区别...

热门文章

  1. Linux下的编程实战【转】
  2. 致19落榜考生:如何才能走出考研失败
  3. 如何让代码为微服务做好准备
  4. 秋招面经第一弹:百度一面-大数据开发工程师
  5. 如何管理linux的软件,linux 软件安装及管理
  6. [题解]CSP-分蛋糕(线性表)
  7. 索尼Xperia Z2 SGP521/SGP 511 无限重启的解决
  8. 业绩快报|高通的业绩和指引都不乐观,但预计今年能与苹果达成和解
  9. 首创的电子皮肤模仿人类的疼痛反应
  10. DuerOS - DuerOS对话式人工智能系统唤醒