使用python按文件设置环境变量

weixin_38059973 2019-09-12 10:26:21
我有一个文件包含一组环境变量. env_script.env: export a=hjk export b=jkjk export c=kjjhh export i=jkkl .......... 我想通过从文件中读取来设置这些环境变量.我怎么能在python中做到这一点 试过示例代码: pipe = subprocess.Popen([".%s;env", "/home/user/env_script.env"], stdout=subprocess.PIPE, shell=True) output = pipe.communicate()[0] env = dict((line.split("=", 1) for line in output.splitlines())) os.environ.update(env) 请给出一些建议
...全文
223 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38065414 2019-09-12
  • 打赏
  • 举报
回复
您不需要使用子进程. 读取行和拆分环境变量名称,值并将其分配给os.environ: import os with open('/home/user/env_script.env') as f: for line in f: if 'export' not in line: continue if line.startswith('#'): continue # Remove leading `export ` # then, split name / value pair key, value = line.replace('export ', '', 1).strip().split('=', 1) os.environ[key] = value 或使用dict.update和generator expression: with open('env_script.env') as f: os.environ.update( line.replace('export ', '', 1).strip().split('=', 1) for line in f if 'export' in line ) 或者,您可以创建一个包装器shell脚本,它将获取env_script.env,然后执行原始python文件. #!/bin/bash source /home/user/env_script.env python /path/to/original_script.py

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧