Python操作登錄檔詳細步驟介紹

2022-09-20 11:27:12 字數 3527 閱讀 4403

python操作登錄檔步驟之1.開啟登錄檔

對登錄檔進行操作前,必須開啟登錄檔。在python中,可以使用以下兩個函式:regopenkey和regopenkeyex。其函式原型分別如下所示。

regopenkey(key, subkey , reserved , sam)regopenkeyex

(key, subkey , reserved , sam)

兩個函式的引數一樣。引數含義如下:

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:已經開啟的登錄檔項。

以下例項關閉乙個已經開啟的登錄檔項。

# 關閉剛才開啟的登錄檔項

>>www.cppcns.com> 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會新增該項值,如果存在,則修www.cppcns.com改該項值。其函式原型分別如下所示。

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

# 將其「v設定為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\sowww.cppcns.comftware\microsoft\internet explorer」項的新增、刪除子項操作。

# 向「hkey_local_machine\software\microsoft\internet

explorer」新增子項「python」

>>> win32api.regcreatekey(key,'python')

# 新建立的子項的控制代碼# 刪除剛才建立的子項「python」

>>> win32api.regdeletekey(key,'python')

Python 操作登錄檔

通過python操作登錄檔有兩種方式,第一種是通過python的內建模組 winreg 另一種方式就是win32 extension for python 的win32api模組,但是需要進行額外的安裝。這裡主要給出一些 winreg和win32api的demo 1 winrg 可以參考官方的參考文...

Python 操作登錄檔

通過python的內建模組winreg這裡主要給出一些winreg的demo python2 import winreg python3 import winreg python37 coding utf 8 coding utf 8 import winreg def obtain 獲取該鍵的所有...

登錄檔操作

近來由於需要在自己寫的程式中對登錄檔進行操作。總結些經驗,並做個乙個demo供日後使用,現在把它拿出來和大家分享 小弟初學vc,有誤之處還請賜教。為了使用方便,我把一些操作寫成了函式,以便方便呼叫,具體 如下所示 一 定義 hkey hkey char content 256 所查詢登錄檔鍵值的內容...