我正在写一个python程序,需要在一个持久化的用户环境变量中存储一个值。我相信这些值存储在注册表中。我已经尝试过使用winreg python模块这样做。
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, 'Environment', access=winreg.KEY_WRITE)
winreg.SetValueEx(key, envVarName, 0, winreg.REG_SZ, envVarValue)
winreg.Close(key)
字符串
我可以通过使用注册表编辑器看到这个值已成功设置。但是如果我尝试从另一个python脚本或新的powershell示例读取该值,直到机器重新启动,我才能看到新值。
我还需要做什么来使这个值在不重新启动的情况下对其他进程可用?
2条答案
按热度按时间50few1ms1#
看看这个答案,给出了一个可能的答案:https://stackoverflow.com/a/61757725/18300067
字符串
kxe2p93d2#
这是我们在一个Windows服务器上的生产环境中的操作方式(代码简化):
字符串
如果我首先使用以下方式设置值:
型
然后检查它是否已创建:
的数据
现在我使用getRegistry并在管理模式下打开PS来运行它:
型
的