@VolkovDen

Почему python не видит {} в имени ключа реестра?

Пытаюсь на python 3 реализовать поиск по реестру, но он отказывается видеть имя ключа если оно начинается с " {"
Пример SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{F57F0CBD-3260-4021-83E6-CA2224672634$}'
Как можно обойти это?
  • Вопрос задан
  • 340 просмотров
Решения вопроса 1
@javedimka
Хочу сока
Потому что питон х32, а система x64:
https://docs.python.org/3/library/winreg.html#bit-...
https://docs.microsoft.com/ru-ru/windows/win32/win...
import winreg
winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\\Uninstall\{F57F0CBD-3260-4021-83E6-CA2224672634$}', 0, (winreg.KEY_WOW64_64KEY + winreg.KEY_READ))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@0pauc0
Прекрасно ищет:
>>> st='{F57F0CBD-3260-4021-83E6-CA2224672634$}'
>>> st.find ('4021')
15

Может проблема в части строки '\Uninstall'?
'\Uxxx' это escape.

!
Посмотрел док https://docs.python.org/3/library/winreg.html.

winreg.OpenKey(key, sub_key, reserved=0, access=KEY_READ)
winreg.OpenKeyEx(key, sub_key, reserved=0, access=KEY_READ)
Opens the specified key, returning a handle object.
key is an already open key, or one of the predefined HKEY_* constants.
sub_key is a string that identifies the sub_key to open.
reserved is a reserved integer, and must be zero. The default is zero.
access is an integer that specifies an access mask that describes the desired security access for the key. Default is KEY_READ. See Access Rights for other allowed values.

Терзают меня сомнения по поводу параметра key. Вы в своем примере вместо него передали весь реестр.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы