亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python操作注冊表的方法實現

 更新時間:2023年08月29日 11:19:01   作者:SteveRocket  
Python提供了winreg模塊,可以用于操作Windows注冊表,本文就來介紹一下python操作注冊表的方法實現,主要包括打開注冊表、讀取注冊表值、寫入注冊表值和關閉注冊表,具有一定的參考價值,感興趣的可以了解一下

 在Windows操作系統(tǒng)中,注冊表是一個重要的系統(tǒng)組件,它存儲了系統(tǒng)和應用程序的配置信息。Python提供了winreg模塊,可以用于操作Windows注冊表。本文將介紹如何使用Python操作注冊表,并介紹一些應用場景

1. 導入winreg模塊

在使用winreg模塊之前,我們需要先導入該模塊??梢允褂靡韵麓a導入winreg模塊:

import winreg

2. 打開注冊表

可以使用winreg模塊的OpenKey()方法打開注冊表。該方法的參數是一個表示注冊表項的句柄和一個表示要打開的子項的名稱的字符串。如果要打開的子項不存在,將會拋出一個WindowsError異常。下面是打開注冊表的示例代碼:

import winreg
# 打開HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer鍵
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'Software\Microsoft\Windows\CurrentVersion\Explorer')

在上面的代碼中,我們首先使用winreg.HKEY_CURRENT_USER常量表示HKEY_CURRENT_USER根鍵。然后使用winreg.OpenKey()方法打開注冊表項Software\Microsoft\Windows\CurrentVersion\Explorer,并將結果保存在變量key中。

3. 讀取注冊表值

可以使用winreg模塊的QueryValue()方法讀取注冊表值。該方法的參數是一個表示注冊表項的句柄和一個表示要讀取的值的名稱的字符串。如果要讀取的值不存在,將會拋出一個WindowsError異常。

下面是讀取注冊表值的示例代碼:

import winreg
# 打開HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer鍵
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'Software\Microsoft\Windows\CurrentVersion\Explorer')
# 讀取StartPage鍵的值
value = winreg.QueryValue(key, 'StartPage')
print(value)

在上面的代碼中,我們首先使用winreg.OpenKey()方法打開注冊表項Software\Microsoft\Windows\CurrentVersion\Explorer,并將結果保存在變量key中。然后使用winreg.QueryValue()方法讀取StartPage鍵的值,并將結果保存在變量value中。最后打印value的值。

4. 寫入注冊表值

可以使用winreg模塊的SetValue()方法寫入注冊表值。該方法的參數是一個表示注冊表項的句柄、一個表示要寫入的值的名稱的字符串和一個表示要寫入的值的類型的常量。如果要寫入的值已存在,將會覆蓋原有的值。

下面是寫入注冊表值的示例代碼:

import winreg
# 打開HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer鍵
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'Software\Microsoft\Windows\CurrentVersion\Explorer', 0, winreg.KEY_WRITE)
# 寫入TestValue鍵的值
winreg.SetValue(key, 'TestValue', winreg.REG_SZ, 'Hello, World!')

在上面的代碼中,我們首先使用winreg.OpenKey()方法打開注冊表項Software\Microsoft\Windows\CurrentVersion\Explorer,并將結果保存在變量key中。然后使用winreg.SetValue()方法寫入TestValue鍵的值。需要注意的是,我們需要將要寫入的值的類型作為winreg.SetValue()方法的第三個參數傳入,并使用常量表示類型。

5. 關閉注冊表

在操作注冊表之后,我們需要關閉注冊表。可以使用winreg模塊的CloseKey()方法關閉注冊表。該方法的參數是一個表示注冊表項的句柄。

下面是關閉注冊表的示例代碼:

import winreg
# 打開HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer鍵
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'Software\Microsoft\Windows\CurrentVersion\Explorer')
# 關閉注冊表
winreg.CloseKey(key)

在上面的代碼中,我們首先使用winreg.OpenKey()方法打開注冊表項Software\Microsoft\Windows\CurrentVersion\Explorer,并將結果保存在變量key中。然后使用winreg.CloseKey()方法關閉注冊表。

6. 應用場景

Python操作注冊表的應用場景很多,例如:

- 修改Windows系統(tǒng)設置,如修改桌面背景、修改默認瀏覽器等;
- 配置應用程序,如修改應用程序的默認設置;
- 讀取系統(tǒng)信息,如讀取系統(tǒng)啟動時間、讀取系統(tǒng)版本號等。

import _winreg
key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run")
#獲取該鍵的所有鍵值,因為沒有方法可以獲取鍵值的個數,所以只能用這種方法進行遍歷
try:
    i=0
    while True:
        #EnumValue方法用來枚舉鍵值,EnumKey用來枚舉子鍵
        content = _winreg.EnumValue(key,i)
        i += 1
        print content
except WindowsError:
    pass
# 如果知道鍵的名稱,也可以直接取值
value = _winreg.QueryValueEx(key,"ABC")
print value
#創(chuàng)建新的鍵
newkey = _winreg.CreateKey(key,"hello")
#給新創(chuàng)建的鍵添加頁鍵值
_winreg.SetValueEx(newkey,"HelloNewKey",0,_winreg.REG_SZ,'this is new key content')

#將此腳本添加到注冊表啟動項
p = "C:\Users\Administrator\Desktop\main.py"
#在啟動項中添加程序啟動鍵值對 以及  頁值
path = 'python "%s"' % p
print path
env = _winreg.OpenKeyEx(_winreg.HKEY_LOCAL_MACHINE,
                        "SOFTWARE\Microsoft\Windows\CurrentVersion\Run",
                        0,
                        _winreg.KEY_SET_VALUE|_winreg.KEY_READ
                        )
print env
key = _winreg.EnumKey(env,0)#讀取Run下面的第一個鍵
print key
value = _winreg.EnumValue(env,0)#枚舉Run鍵  下面的第一個頁值
print value
value = _winreg.EnumValue(env,1)#枚舉Run鍵  下面的第二個頁值
print value
value = _winreg.EnumValue(env,2)#枚舉Run鍵  下面的第三個頁值
print value
# value = _winreg.EnumValue(env,3)#枚舉Run鍵  下面的第四個頁值   不存在則報錯
# print value
#遍歷全部的頁值如下
name_list = []
try:
    i = 0
    while True:
        name,value,type = _winreg.EnumValue(env,i)#枚舉鍵下的頁值
        name_list.append(name)
        i += 1
        print name
except WindowsError:
    pass
print name_list
if "Agent" not in name_list:
    _winreg.SetValueEx(env,"Agent",0,_winreg.REG_SZ,path)
else:
    value = _winreg.QueryValueEx(env,"Agent")
#判斷是不是存在此鍵以及鍵的內容是否符合正常的
if "Agent" not in name_list:
    _winreg.SetValueEx(env,"Agent",0,_winreg.REG_SZ,path)
#獲取子鍵的內容
value = _winreg.QueryValueEx(env,"Agent")
if value != path:
    _winreg.SetValueEx(env,"Agent",0,_winreg.REG_SZ,path) #如果存在此key  則會直接修改里面的value

總結

在Windows操作系統(tǒng)中,注冊表是一個重要的系統(tǒng)組件,它存儲了系統(tǒng)和應用程序的配置信息。Python提供了winreg模塊,可以用于操作Windows注冊表??梢允褂脀inreg模塊的OpenKey()方法打開注冊表、使用QueryValue()方法讀取注冊表值、使用SetValue()方法寫入注冊表值和使用CloseKey()方法關閉注冊表。Python操作注冊表的應用場景很多,例如修改Windows系統(tǒng)設置、配置應用程序和讀取系統(tǒng)信息等。

到此這篇關于python操作注冊表的方法實現的文章就介紹到這了,更多相關python操作注冊表內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 使用pandas對矢量化數據進行替換處理的方法

    使用pandas對矢量化數據進行替換處理的方法

    下面小編就為大家分享一篇使用pandas對矢量化數據進行替換處理的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python ARP掃描與欺騙實現全程詳解

    Python ARP掃描與欺騙實現全程詳解

    這篇文章主要介紹了Python 實現ARP掃描與欺騙,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-10-10
  • Python設計模式之代理模式實例詳解

    Python設計模式之代理模式實例詳解

    這篇文章主要介紹了Python設計模式之代理模式,結合實例形式較為詳細的分析了代理模式的概念、原理及Python定義、使用代理模式相關操作技巧,需要的朋友可以參考下
    2019-01-01
  • Python通過format函數格式化顯示值

    Python通過format函數格式化顯示值

    這篇文章主要介紹了Python通過format函數格式化顯示值,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • python中spy++的使用超詳細教程

    python中spy++的使用超詳細教程

    這篇文章主要介紹了python中spy++的使用超詳細教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • django輕松使用富文本編輯器CKEditor的方法

    django輕松使用富文本編輯器CKEditor的方法

    最近由于需要在django admin中使用到富文本編輯器,由于我比較喜歡CKEditor富文本編輯器,于是就有了這篇文章,下面這篇文章主要給大家介紹了在django中輕松使用富文本編輯器CKEditor的方法,需要的朋友可以參考下。
    2017-03-03
  • 一文詳解PyQt5中實現不規(guī)則窗口的顯示

    一文詳解PyQt5中實現不規(guī)則窗口的顯示

    這篇文章主要為大家詳細介紹了Python?PyQt5中實現不規(guī)則窗口的顯示的相關資料,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2022-12-12
  • python將字典內容存入mysql實例代碼

    python將字典內容存入mysql實例代碼

    這篇文章主要介紹了python將字典內容存入mysql實例代碼,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • 一文帶你掌握Python中的雙下劃線寫法

    一文帶你掌握Python中的雙下劃線寫法

    在?Python?中,雙下劃線--也被稱為“dunder”--是一種用于修飾類屬性名稱或類方法名稱的行為,下面小編就來和大家詳細講講如何在Python中使用雙下劃線吧
    2023-10-10
  • Pygame與OpenCV聯合播放視頻并保證音畫同步

    Pygame與OpenCV聯合播放視頻并保證音畫同步

    Pygame的Movie模塊已經廢棄多年,本文主要介紹了Pygame與OpenCV聯合播放視頻并保證音畫同步,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12

最新評論