您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關Python中怎么操作注冊表,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
Python操作注冊表步驟之1.打開注冊表
對注冊表進行操作前,必須打開注冊表。在Python中,可以使用以下兩個函數:RegOpenKey和RegOpenKeyEx。其函數原型分別如下所示。
RegOpenKey(key, subKey , reserved , sam)RegOpenKeyEx
(key, subKey , reserved , sam)
兩個函數的參數一樣。參數含義如下。
Python字符串顯示實際應用技巧分享
Python PAMIE模塊實現IE自動化
Python HTTP操作基本應用方式簡述
Python字符基本操作技巧分享
Python操作Sqlite正確實現方法解析
key:必須為表10-1中列出的項。
subKey:要打開的子項。
reserved:必須為0。
sam:對打開的子項進行的操作,包括win32con.KEY_ALL_ACCESS、win32con.KEY_READ、win32con. KEY_WRITE等。
以下實例實現打開注冊表“HKEY_CURRENT_USER\Software”項。
>>> import win32api # 導入win32api模塊
>>> import win32con # 導入win32con模塊# 使用RegOpenKey打開注冊表項
>>> key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER,
'Software',0,win32con.KEY_READ)>>> print key # key為打開的項的句柄
Python操作注冊表步驟之2.關閉注冊表
打開的注冊表,在操作完成后,需要關閉。在Python中使用RegCloseKey函數關閉打開的注冊表項。其函數原型如下所示。
RegCloseKey(key)
其參數只有一個,其含義如下。
key:已經打開的注冊表項。
以下實例關閉一個已經打開的注冊表項。
# 關閉剛才打開的注冊表項 >>> win32api.RegCloseKey(key)>>> print key
Python操作注冊表步驟之3.讀取項值
在打開注冊表項以后,可以使用RegQueryValue函數讀取項的默認值。如果要讀取某一項值,可以使用RegQueryValueEx函數。其函數原型分別如下所示。
RegQueryValue(key, subKey )RegQueryValueEx(key, valueName )
對于RegQueryValue,其參數含義如下。
key:已打開的注冊表項的句柄。
subKey:要操作的子項。
對于RegQueryValueEx,其參數含義如下。
key:已經打開的注冊表項的句柄。
valueName:要讀取的項值名稱。
以下實例實現對“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer”項的操作。
>>> import win32api
>>> import win32con# 打開“HKEY_LOCAL_MACHINE\SOFTWARE
\Microsoft\Internet Explorer”項>>> key = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE,
'SOFTWARE\\Microsoft\\Internet Explorer',0, win32con.KEY_ALL_ACCESS)>>> win32api.RegQueryValue(key,'')
# 讀取項的默認值''
# 輸出為空,表示其默認值未設置#讀取項值名稱為Version的項值數據,
也就是Internet Explorer的版本>>> win32api.RegQueryValueEx(key,'Version') ('6.0.2900.2180', 1)
>>> win32api.RegQueryInfoKey(key)
# RegQueryInfoKey函數查詢項的基本信息(26, 7, 128178812229687500L)
# 返回項的子項數目、項值數目,以及***一次修改時間
Python操作注冊表步驟之4.設置項值
要修改或者重新設置注冊表某一項的項值可以使用RegSetValueEx函數,如果要設置項的默認值可以使用RegSetValue函數。需要說明的是,對于RegSetValueEx,如果要設置的項值不存在,那么RegSetValueEx會添加該項值,如果存在,則修改該項值。其函數原型分別如下所示。
RegSetValueEx(key, valueName, reserved, type, value)RegSetValue
(key, subKey, type, value)
對于RegSetValueEx,其參數含義如下。
key:要設置的項的句柄。
valueName:要設置的項值名稱。
reserved:保留,可以設為0。
type:項值的類型。
value:所要設置的值。
對于RegSetValue,其參數的含義如下。
key:已經打開的項的句柄。
subKey:所要設置的子項。
type:項值的類型,必須為win32con.REG_SZ。
value:項值數據,為字符串。
以下的實例實現修改“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer”的默認值,以及其“Version”項值數據。
# 將“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer”的默認值設為python>>> win32api.RegSetValue(key,'',win32con.REG_SZ,'python')# 將其“Version”設置為7.0.2900.2180>>> win32api.RegSetValueEx(key,'Version',0,win32con.REG_SZ,'7.0.2900.2180')
Python操作注冊表步驟之5.添加、刪除項
要向注冊表中添加項可以使用RegCreateKey函數。RegDeleteKey函數可以刪除注冊表中的項。其參數原型分別如下所示。
RegCreateKey(key, subKey )RegDeleteKey (key, subKey )
其參數含義相同,參數含義分別如下。
key:已經打開的注冊表項的句柄。
subKey:所要操作(添加或刪除)的子項。
以下的實例實現對“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer”項的添加、刪除子項操作。
# 向“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet
Explorer”添加子項“Python”>>> win32api.RegCreateKey(key,'Python')
# 新創建的子項的句柄# 刪除剛才創建的子項“Python”
>>> win32api.RegDeleteKey(key,'Python')
以上就是Python中怎么操作注冊表,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。