from winreg import *
UNINSTALL_PATH_LIST = [
r'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall',
r"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall",
]
programs_dict = dict()
for path in UNINSTALL_PATH_LIST:
with OpenKey(HKEY_LOCAL_MACHINE, path) as key:
for i in range(QueryInfoKey(key)[0]):
keyname = EnumKey(key, i)
subkey = OpenKey(key, keyname)
try:
subkey_dict = dict()
for j in range(QueryInfoKey(subkey)[1]):
k, v = EnumValue(subkey, j)[:2]
subkey_dict[k] = v
if 'DisplayName' not in subkey_dict:
continue
name = subkey_dict['DisplayName'].strip()
if not name:
continue
programs_dict[name] = subkey_dict
except WindowsError:
pass
data = ''
for number, name in enumerate(sorted(programs_dict.keys()), 1):
subkey_dict = programs_dict[name]
print('{}.{}'.format(number, name))
print()
data += name +'\n'
my_filename=str(input("имя файла"))#ФАЙЛ
fext2='txt'# расширение файла
print(my_filename)
with open(my_filename + '.' + fext2, 'w', encoding='utf-8') as fp:# собираем то, что в файл попадет(data), +имя фйала(filename)+ расширение, открываем неа запись(w)
print(data, file=fp, sep="\n")# запись в файл с переводом строки
fp.close()# закрытие файла