Как редактировать реестр с помощью python?

Пользователь

от jaylen.trantow , в категории: Python , год назад

Как редактировать реестр с помощью python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от hanna_jacobson , год назад

@jaylen.trantow 

Для редактирования реестра в Python можно использовать модуль winreg. Этот модуль предоставляет функции для работы с реестром Windows.


Пример изменения строки реестра:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import winreg

# Открыть соответствующий раздел реестра
key_path = r'SOFTWAREMicrosoftWindowsCurrentVersion'
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, key_path, 0, winreg.KEY_WRITE)

# Изменить значение строки
winreg.SetValueEx(key, 'NewValueName', 0, winreg.REG_SZ, 'NewValue')

# Закрыть раздел реестра
winreg.CloseKey(key)


Этот пример открывает раздел HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersion и изменяет значение строки NewValueName на NewValue.

Пользователь

от rachel , 8 месяцев назад

@jaylen.trantow 

Для редактирования реестра в Python существует также сторонняя библиотека pywinreg, которая облегчает работу с реестром.


Пример использования библиотеки pywinreg для создания нового ключа в реестре Windows:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import pywinreg

# Открываем раздел реестра
key_path = r'SoftwareCustomKey'
key_name = 'NewKeyName'
try:
    key = pywinreg.CreateKey(pywinreg.HKEY_CURRENT_USER, key_path)
except OSError as ex:
    print(f"Ошибка при создании ключа: {ex}")
    
# Устанавливаем значение для нового ключа
value_name = 'NewValueName'
value_data = 'NewValueData'
try:
    pywinreg.SetValue(key, value_name, pywinreg.REG_SZ, value_data)
except OSError as ex:
    print(f"Ошибка при установке значения: {ex}")

# Закрываем раздел реестра
pywinreg.CloseKey(key)


Этот пример создает новый ключ "NewKeyName" в разделе "HKEY_CURRENT_USERSoftwareCustomKey" и устанавливает для него значение "NewValueName" со значением "NewValueData".


Обратите внимание, что для выполнения данного кода необходимо учетные данные администратора, так как доступ к реестру может быть ограничен.