枚举注册表的Python脚本
它采用“DisplayName”、“DisplayVersion”和“Publisher”。列表的长度不匹配,即使我已经给出了要输入的“无”值(如果该值不存在) 这段代码仍然没有枚举注册表“uninstall”子项的所有内容 我做错什么了吗 提前谢谢枚举注册表的Python脚本,python,registry,enumeration,Python,Registry,Enumeration,它采用“DisplayName”、“DisplayVersion”和“Publisher”。列表的长度不匹配,即使我已经给出了要输入的“无”值(如果该值不存在) 这段代码仍然没有枚举注册表“uninstall”子项的所有内容 我做错什么了吗 提前谢谢 from _winreg import * areg=ConnectRegistry(None,HKEY_LOCAL_MACHINE) akey=OpenKey(areg,r"SOFTWARE\Microsoft\Windows\CurrentV
from _winreg import *
areg=ConnectRegistry(None,HKEY_LOCAL_MACHINE)
akey=OpenKey(areg,r"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")
count=0
for i in range (1024):
try:
subkey=EnumKey(akey,i)
asubkey = OpenKey(akey, subkey)
"""print subkey"""
val=QueryValueEx(asubkey,"DisplayName")
list1.append(val[0])
if(len(val[0])==0):
pass
else:
val2=QueryValueEx(asubkey,"DisplayVersion")
if(val2==""):
list2.append("None")
list3.append("None")
continue
else:
list2.append(val2[0])
val3=QueryValueEx(asubkey,"Publisher")
if(val3==""):
list3.append("None")
else:
list3.append(val3[0])
print len(list1), len(list2), len(list3)
在这里,您在列表1
中输入了一个值,但随后将其保留。我有一种预感,你是想检查和保释,而不是在列表1
中添加任何内容
list1.append(val[0])
if(len(val[0])==0):
pass