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

时间:2011-02-08 22:48:23

标签: python windows winapi pywin32

我正在尝试使用python来设置将在Pythons 父环境中保留的环境变量,即使在python退出到shell之后,但将不会持续一次父shell已关闭。打开一个新shell应该要求再次运行python脚本才能正确设置环境。

基于this帖子的建议,我正在尝试使用win32com python库。不幸的是,我对win32 api的经验很少。

基本上,我需要一种方法来获取当前环境的句柄,并设置环境变量,使它们在python的父环境中保持不变,但在父环境退出后不会保留。

2 个答案:

答案 0 :(得分:1)

链接帖子讲述了如何更改影响新进程的默认环境。它操纵注册表值。

MS文档说,

"A process can never directly change the environment variables of another process that is not a child of that process"。所以,你永远不会在子进程中达到你声明的目标,不管是不是Python。

答案 1 :(得分:0)

通过设计改变父母的环境是不可能的。您可以做的最好的事情是让程序发出改变环境的命令,然后程序的调用者需要评估命令的输出。