在当前环境中使用python (win32com) 设置环境变量

0 投票
2 回答
1000 浏览
提问于 2025-04-16 11:29

我正在尝试使用Python来设置一些环境变量,这些变量在Python的父环境中会一直存在,即使Python退出回到命令行,但在父命令行关闭后就不会再存在。也就是说,打开一个新的命令行窗口时,需要再次运行这个Python脚本才能正确设置环境变量。

根据这篇帖子里的建议,我想使用win32com这个Python库来实现这个功能。不过,我对win32 API的经验非常有限。

简单来说,我需要一种方法来获取当前环境的句柄,并以某种方式设置环境变量,使它们在Python的父环境中保持有效,但在父环境退出后就不再有效。

2 个回答

1

链接的帖子讲的是如何更改默认环境,这样会影响到新创建的进程。这个过程涉及到修改注册表的值。

"一个进程无法直接改变另一个不是它子进程的进程的环境变量",这是微软文档中的说法。所以,你在子进程中,无论是用Python还是其他语言,都无法实现你想要的目标。

0

根据设计,无法直接改变父级的环境。你能做的最好的事情就是让你的程序输出一些命令,这些命令可以改变环境,然后调用你程序的人需要执行这些命令的输出。

撰写回答