@alexkey0347

Нужно изменить код (всего одну строчку кода в конце) на автоматическое сохранение списка всех установленных программ в Windows в .txt файл?

#Нужно изменить код (всего одну строчку кода в конце) на автоматическое сохранение списка всех установленных программ в Windows в .txt файл?
#Код отображает список всех установленных программ на компьютере
#Но этот список нужно сохранять в txt
#в самом конце кода не знаю чему должно ровняться data=??????????
#Сам код:
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
        

for number, name in enumerate(sorted(programs_dict.keys()), 1):
    subkey_dict = programs_dict[name]
    print('{}.{}'.format(number, name))
    print()

my_filename=str(input("имя файла"))#ФАЙЛ

# То что в data и сохраняет информацию в файл txt
data=???????????????
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()# закрытие файла
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
data = programs_dict
Или
data = subkey_dict
Ну или... Откуда нам знать чему ваша data равняться должна...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы