91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用python如何操作注冊表

發布時間:2020-11-03 14:37:20 來源:億速云 閱讀:298 作者:Leah 欄目:開發技術

這篇文章運用簡單易懂的例子給大家介紹使用python如何操作注冊表,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

    注冊表是windows管理配置系統運行參數的一個核心數據庫。在這個數據庫里整合集成了全部系統和應用程序的初始化信息;其中包含了硬件設備的說明、相互關聯的應用程序與文檔文件、窗口顯示方式、網絡連接參數、甚至有關系到計算機安全的網絡共享設置 。

1.讀取

讀取用的方法是OpenKey方法:打開特定的key

winreg.OpenKey(key,sub_key,res=0,sam=KEY_READ)

例子:此例子是顯示了本機網絡配置的一些注冊表項

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

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

3. 權限問題

寫完的Python腳本必須用管理員權限運行,才能對注冊表進行寫操作。否則會報PermissionError異常
這個時候需要調用Windows的API,重新啟動一遍程序 runas administrator,將原來的程序退出。

代碼也很簡單

from __future__ import print_function
import ctypes, sys

def is_admin():
  try:
    return ctypes.windll.shell32.IsUserAnAdmin()
  except:
    return False
if is_admin():
  # 將要運行的代碼加到這里
else:
  if sys.version_info[0] == 3:
    ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)
  else:#in python2.x
    ctypes.windll.shell32.ShellExecuteW(None, u"runas", unicode(sys.executable), unicode(__file__), None, 1)

網上搜的都是python2的, 自己寫代碼的時候總是搞不正確的包,
然后用

pip search winreg

結果是:

winreg-helpers (0.1.1) - Helper functions for reading/writing to the Windows Registry.

裝這個包就可以了。

解決問題,每次在鏈接vpn后,發現browser就打不開了,需要手動去將其去掉。
現在只要執行一下以下這個腳本,就解決了問題:

import winreg

INTERNET_SETTINGS = winreg.OpenKey(winreg.HKEY_CURRENT_USER,
  r'Software\Microsoft\Windows\CurrentVersion\Internet Settings',
  0, winreg.KEY_ALL_ACCESS)

def set_key(name, value):
  _, reg_type = winreg.QueryValueEx(INTERNET_SETTINGS, name)
  winreg.SetValueEx(INTERNET_SETTINGS, name, 0, reg_type, value)

set_key('ProxyEnable', 0)
#set_key('ProxyOverride', u'*.local;<local>') # Bypass the proxy for localhost
#set_key('ProxyServer', u'X.X.X.X:8080')

關于使用python如何操作注冊表就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

防城港市| 和田市| 五台县| 桃园县| 哈尔滨市| 金坛市| 武穴市| 濮阳县| 乌拉特中旗| 临潭县| 屯门区| 衡阳市| 金坛市| 年辖:市辖区| 三明市| 吴桥县| 衡东县| 红原县| 六安市| 皮山县| 集贤县| 巫山县| 乡宁县| 垫江县| 冕宁县| 河北区| 策勒县| 夏河县| 庆城县| 千阳县| 酒泉市| 九寨沟县| 茂名市| 湖北省| 酉阳| 荔浦县| 溧水县| 富宁县| 柳江县| 凌海市| 邛崃市|