轉 Python模組——_winreg操作註冊表

來源:互聯網
上載者:User

標籤:controls   參考   machine   如何   10.10   images   odi   user   5.0   

Python模組——_winreg操作註冊表 (2010-01-22 13:47:01) 轉載▼
標籤: python _winreg 註冊表 刪除鍵 name 預設閘道 utf-8 it  分類: Python

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

轉 Python模組——_winreg操作註冊表

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.