python3的os模块无法操作环境变量?

开发环境:win7
如题,我使用以下os命令对环境变量进行操作时,在调试工具中能输出,但是并不能改变环境变量设置。请问这是为什么?


import os ;

def setEnv():
    
    os.environ['william'] = '123'


def getEnv():

    
    print(os.environ.get('william'))


    
if __name__ == "__main__":
    
    setEnv();
    
    getEnv()

;
阅读 2.5k
2 个回答

若没有特别设定,环境变量继承自父进程。

因此,你在 python 里面修改了环境变量,只能影响自身,及由它创建的子进程(若没有显式设定)。

要影响当前登录用户下的所有进程,你得从 “系统设置” - “高级” - “环境变量” 中设置,并重新登录(或重启)。

通过这种方法只是临时修改环境变量,退出程序后就失效了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题