網上的很多代碼真的只能參考,有很多停留在python2的編碼風格或者沒更新新模塊的語法沿用語法編寫!(當然這是個人觀點,如果是系統工程的編碼優點還望指正)
winreg是內置模塊,不用安裝,直接上碼
import winreg dict1 = {} #新建字典 reg_name = [] #新建數組,存放注冊表名 reg_value = [] #新建數組,存放注冊表值 key = winreg.CreateKey(winreg.HKEY_CURRENT_USER, r"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders") ### 根據官網說明,windows注冊表沒有提供api返回表項數量,只能設置循環到最后強制退出,自己計算 try: i = 0 while 1: name, value, type = winreg.EnumValue(key, i) reg_name.append(name) reg_value.append(value) dict1 = dict(zip(reg_name, reg_value)) #利用zip綁定兩個返回項做成字典,方便查找 i += 1 except OSError: pass print(dict1.get('Desktop'))
方法可能有點笨拙,因為編程經驗缺乏,如有建議還望大蝦指導指正
備注:
新winreg模塊使用CreateKey、OSError替代,保留OpenKey、WindowsError別名用作兼容!
刪除還在研究,如有心得會補充更新,可以參考下面兩個鏈接的說明
Reference:
https://blog.csdn.net/pondbay/article/details/9424817
https://blog.51cto.com/11097647/1888591
https://docs.python.org/3/library/winreg.html?highlight=winreg# python官網描述winreg模塊
來源:站長新聞