代码之家  ›  专栏  ›  技术社区  ›  MeCe

Python子进程没有从Bat文件中获取环境变量

  •  0
  • MeCe  · 技术社区  · 7 年前

    我有一个bat文件,它设置了一些环境变量,比如

    @echo off
    SET MY_ENV_VAR=C:\temp
    

    subprocess.call(['path_to_bat_file\file.bat'], shell = False)
    print(os.environ['MY_ENV_VAR'])
    

    我试图将Shell设置为True并添加在internet上找到的其他参数,但没有成功。它在os.environ上给出了找不到MY_ENV_VAR的KeyError。当我在运行python脚本之前手动运行bat文件时,一切正常。

    如有任何帮助,我们将不胜感激。

    谢谢您,

    1 回复  |  直到 7 年前
        1
  •  1
  •   han solo    7 年前

    无法从子进程更改您的环境。结束:)

    import os
    os.environ["MY_ENV_VAR"] = "C:\temp"