最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)操縱控制windows注冊表的方法分析

 更新時間:2019年05月24日 11:40:29   作者:TKtalk  
這篇文章主要介紹了Python實現(xiàn)操縱控制windows注冊表的方法,結(jié)合實例形式分析了Python使用_winreg模塊以及win32api模塊針對Windows注冊表操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)操縱控制windows注冊表的方法。分享給大家供大家參考,具體如下:

使用_winreg模塊的話

基本概念:

  • KEY 鍵
  • Value 值

函數(shù)和作用:

CloseKey() - 關(guān)閉一個Key
ConnectRegistry() - 鏈接到其他機(jī)器的注冊表
CreateKey() - 創(chuàng)建一個Key
DeleteKey() - 刪除一個Key
DeleteValue() - 刪除一個Key里面的值(value)
EnumKey() - 為已經(jīng)打開的Key里面的子鍵建立索引
EnumValue() - 為打開的鍵中的值建立索引
FlushKey() - 回寫所有的鍵屬性改變到注冊表
LoadKey() - 從指定文件讀入鍵信息
OpenKey() - 打開一個鍵
OpenKeyEx()
QueryValue() - 在注冊表中檢索一個鍵的路徑
QueryValueEx() - 注冊表中檢索一個鍵的路徑
QueryInfoKey() - 返回關(guān)于鍵的信息
SaveKey() - 保存鍵到文件
SetValue() - 設(shè)置一個鍵
SetValueEx() - 設(shè)置一個值

1、讀取

import _winreg
key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,r"Software\Microsoft\Windows\CurrentVersion\Explorer")
 #獲取該鍵的所有鍵值,因為沒有方法可以獲取鍵值的個數(shù),所以只能用這種方法進(jìn)行遍歷
 try:
  i = 0
while1:
#EnumValue方法用來枚舉鍵值,EnumKey用來枚舉子鍵
     name, value, type = _winreg.EnumValue(key, i)
print repr(name),
    i +=1
 except WindowsError:
print
 #如果知道鍵的名稱,也可以直接取值
 value, type = _winreg.QueryValueEx(key, "EnableAutoTray")

2 、創(chuàng)建、修改

import _winreg
key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,r"Software\Microsoft\Windows\CurrentVersion\Explorer")
#刪除鍵
_winreg.DeleteKey(key, "Advanced")
#刪除鍵值
_winreg.DeleteValue(key, "IconUnderline")
#創(chuàng)建新的鍵
newKey = _winreg.CreateKey(key,"MyNewkey")
#給新創(chuàng)建的鍵添加鍵值
_winreg.SetValue(newKey,"ValueName",0,"ValueContent")

3、 訪問遠(yuǎn)程注冊表

#第二參數(shù)必須是HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE等預(yù)先定義好的值,拿到返回的key后就可以進(jìn)行操作了
key = _winreg.ConnectRegisty("IP地址或者機(jī)器名",_winreg.HKEY_CURRENT_USER)

4、win32api

win32api 和 _winreg 的方法很類似,一般是多了一個前綴”Reg”,使用方法很基本上一樣,這里就不給具體的Demo代碼了。

就一般的應(yīng)用來說,使用_winreg就足夠了,但是_winreg有一個問題,如果Python是32位的,并且是運(yùn)行在64位的操作系統(tǒng)上時就會有一點小問題,由于操作系統(tǒng)會進(jìn)行注冊表的重定向,32位的程序無法訪問64位應(yīng)用程序的注冊表。在Python2.6以前這個問題都沒有解決,在Python2.7中通過補(bǔ)丁的形式修正了這個問題(http://bugs.python.org/issue7347)。

通過例子來說明一下這個問題,假設(shè)我們的操作系統(tǒng)是64位的,然后在上面安裝了32位的Python,看如下的Python代碼:

import _winreg
key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,r"Software\Microsoft\Windows")
newKey = _winreg.CreateKey(key,"MyNewkey")

上面的代碼的執(zhí)行不會像預(yù)想那樣創(chuàng)建如下的鍵:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows

而是會創(chuàng)建如下的鍵:

HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows

因為在64位的windows操作系統(tǒng)下,64位的程序和32位程序的注冊表是分開的,32位應(yīng)用程序?qū)ψ员淼牟僮鳎ㄗx、寫)都會被重定向到Wow6432Node下面, 64位應(yīng)用程序的訪問注冊表的行為則沒有變化。因此如果我們的32位應(yīng)用程序確實要訪問64位程序所用到的注冊表的話,就會有點問題。由于_winreg本身的問題,它對這種情況的支持不太充分,對windows api的封裝有一些bug,這個時候就需要用到 win32api 模塊。

下面用win32api提供的方法來修改上面的代碼如下:

import win32api
import win32con
key = win32api.RegCreateKeyEx(win32con.HKEY_LOCAL_MACHINE, r"Software\Microsoft\Windows", win32con.WRITE_OWNER |win32con.KEY_WOW64_64KEY|win32con.KEY_ALL_ACCESS)
win32api.RegSetValueEx (key,"MyNewkey", 0, win32con.REG_SZ, keyValue)

上面的win32con.KEY_WOW64_64KEY意思就是直接訪問64位注冊表,不要進(jìn)行重定向,默認(rèn)的參數(shù)是win32con.KEY_WOW64_32KEY。

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python爬蟲抓取論壇關(guān)鍵字過程解析

    Python爬蟲抓取論壇關(guān)鍵字過程解析

    這篇文章主要介紹了Python爬蟲抓取論壇關(guān)鍵字過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • Python使用turtle繪制有趣的龍年祝福動畫

    Python使用turtle繪制有趣的龍年祝福動畫

    這篇文章主要介紹了Python的內(nèi)置庫——小海龜(turtle),它是一個非常實用的繪畫工具,不僅可以幫助我們繪制圖形,還能讓我們查看整個繪畫過程,下面我們就來看看如何使用turtle繪制有趣的龍年祝福動畫吧
    2024-01-01
  • Python字典和列表性能之間的比較

    Python字典和列表性能之間的比較

    今天給大家介紹的是Python列表和字典的相關(guān)知識,文中對Python字典和列表的性能作了充分的比較,好奇的小伙伴們一起來看看吧,需要的朋友可以參考下
    2021-06-06
  • 對python opencv 添加文字 cv2.putText 的各參數(shù)介紹

    對python opencv 添加文字 cv2.putText 的各參數(shù)介紹

    今天小編就為大家分享一篇對python opencv 添加文字 cv2.putText 的各參數(shù)介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python快速從注釋生成文檔的方法

    Python快速從注釋生成文檔的方法

    這篇文章主要介紹了Python快速從注釋生成文檔的方法的相關(guān)資料,非常的簡單實用,需要的朋友可以參考下
    2016-12-12
  • Python函數(shù)返回不定數(shù)量的值方法

    Python函數(shù)返回不定數(shù)量的值方法

    今天小編就為大家分享一篇Python函數(shù)返回不定數(shù)量的值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • TensorFlow中權(quán)重的隨機(jī)初始化的方法

    TensorFlow中權(quán)重的隨機(jī)初始化的方法

    本篇文章主要介紹了TensorFlow中權(quán)重的隨機(jī)初始化的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • 基于python 取余問題(%)詳解

    基于python 取余問題(%)詳解

    這篇文章主要介紹了基于python 取余問題(%)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python簡單刪除目錄下文件以及文件夾的方法

    Python簡單刪除目錄下文件以及文件夾的方法

    這篇文章主要介紹了Python簡單刪除目錄下文件以及文件夾的方法,涉及Python使用shutil模塊操作文件的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • python sqlalchemy動態(tài)修改tablename兩種實現(xiàn)方式

    python sqlalchemy動態(tài)修改tablename兩種實現(xiàn)方式

    這篇文章主要介紹了python sqlalchemy動態(tài)修改tablename兩種實現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-03-03

最新評論

龙州县| 申扎县| 峨山| 长武县| 阜城县| 成安县| 南和县| 威宁| 万山特区| 如东县| 宁河县| 海丰县| 辽源市| 马公市| 汝南县| 清徐县| 兰西县| 舞阳县| 乌恰县| 淳安县| 东方市| 封丘县| 澄迈县| 延津县| 临桂县| 宣威市| 兴国县| 黄梅县| 云浮市| 南郑县| 尼玛县| 含山县| 汽车| 巴楚县| 茌平县| 外汇| 博客| 博罗县| 济南市| 绩溪县| 乐都县|