在当前环境中使用python (win32com) 设置环境变量
我正在尝试使用Python来设置一些环境变量,这些变量在Python的父环境中会一直存在,即使Python退出回到命令行,但在父命令行关闭后就不会再存在。也就是说,打开一个新的命令行窗口时,需要再次运行这个Python脚本才能正确设置环境变量。
根据这篇帖子里的建议,我想使用win32com这个Python库来实现这个功能。不过,我对win32 API的经验非常有限。
简单来说,我需要一种方法来获取当前环境的句柄,并以某种方式设置环境变量,使它们在Python的父环境中保持有效,但在父环境退出后就不再有效。
2 个回答
1
链接的帖子讲的是如何更改默认环境,这样会影响到新创建的进程。这个过程涉及到修改注册表的值。
"一个进程无法直接改变另一个不是它子进程的进程的环境变量",这是微软文档中的说法。所以,你在子进程中,无论是用Python还是其他语言,都无法实现你想要的目标。
0
根据设计,无法直接改变父级的环境。你能做的最好的事情就是让你的程序输出一些命令,这些命令可以改变环境,然后调用你程序的人需要执行这些命令的输出。