Python的子进程没有得到来自bat文件环境变量

问题描述 投票:0回答:1

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

@echo off
SET MY_ENV_VAR=C:\temp

我想运行通过Python这个bat文件并运行依赖于这个环境变量蝙蝠套其他可执行文件。但即使bat文件运行时,我看不到通过Python的环境变量

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

我试图壳牌设置为True,并添加我在互联网上找到,但没有什么是全成等参数。它详细介绍了该os.environ是MY_ENV_VAR找不到KeyError异常。当我运行python脚本之前手动运行该bat文件,一切正常。

任何帮助表示赞赏。

谢谢,

python python-3.x subprocess
1个回答
1
投票

有没有办法到您的环境从一个子进程改变。结束 :)

但是你可以在脚本中的环境变量发生变化一样,

import os
os.environ["MY_ENV_VAR"] = "C:\temp"
© www.soinside.com 2019 - 2024. All rights reserved.