我正在尝试在 Python 中使用 WinReg,但我遇到了障碍。以下代码应该为每个返回的条目返回一个带有 key:value 的字典,我发现自己得到了相同的 key:value。
如何编辑此代码以获得不同的值或值?
import _winreg
def subkeys(key):
i = 0
while True:
try:
subkey = _winreg.EnumKey(key, i)
yield subkey
i+=1
except WindowsError as e:
break
def traverse_registry_tree(hkey, keypath, tabs=0):
reg_dict = {}
key = _winreg.OpenKey(hkey, keypath, 0, _winreg.KEY_READ)
for subkeyname in subkeys(key):
reg_dict[subkeyname] = subkeyname
return reg_dict
keypath = r"SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall"
print traverse_registry_tree(_winreg.HKEY_LOCAL_MACHINE, keypath)
输出与此类似:
{'Mozilla Firefox 40.0.2 (x86 en-US)': 'Mozilla Firefox 40.0.2 (x86 en-US)', 'IE40': 'IE40', 'Connection Manager': 'Connection Manager'}
任何帮助将不胜感激,请记住我无论如何都不是高级pythonist。