python shell 继承 环境变量_python – 从shell脚本加载环境变量

如果你说落后环境传播,抱歉,你不能.这是一个安全问题.但是,python的直接源环境肯定是有效的.但它或多或少是一个手动过程.

import subprocess as sp

SOURCE = 'your_file_path'

proc = sp.Popen(['bash', '-c', 'source {} && env'.format(SOURCE)], stdout=sp.PIPE)

source_env = {tup[0].strip(): tup[1].strip() for tup in map(lambda s: s.strip().split('=', 1), proc.stdout)}

然后,您在source_env中拥有所需的一切.

如果您需要将其写回本地环境(不推荐使用,因为source_env会让您保持干净):

import os

for k, v in source_env.items():

os.environ[k] = v

这里需要付出另一个微小的关注,因为我在这里调用bash,你应该期望这里也适用规则.因此,如果您希望看到变量,则需要导出它们.

export VAR1='see me'

VAR2='but not me'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值