You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在运行Python脚本时设置临时环境变量?

运行Python脚本时设置临时环境变量的实现方案

方法1:命令行前缀赋值(类Unix系统:Linux/macOS/WSL)

这是最便捷的原生方案,无需额外工具,直接将变量赋值放在执行命令最前端即可,不需要加export:

BEAR_NAME="sleepybear" python hello.py

原理:shell只会将前缀声明的变量注入到后续启动的Python子进程的环境变量中,不会修改当前shell会话的环境变量,Python进程结束后变量自动失效,和docker run -e的效果完全一致。
如果需要传入多个环境变量,直接依次写在命令前即可:

BEAR_NAME="sleepybear" BEAR_AGE=3 python hello.py

方法2:env命令显式声明

如果你希望写法更清晰,和Docker的-e参数风格更接近,可以用env命令实现:

env BEAR_NAME="sleepybear" python hello.py

效果和方法1完全一致。

方法3:Windows系统适配

如果你使用Windows系统,不同终端的适配写法如下:

  • Cmd命令提示符:
    set BEAR_NAME="sleepybear" && python hello.py && set BEAR_NAME=
    
    末尾的set BEAR_NAME=会在脚本执行完成后自动清理变量,避免残留。
  • PowerShell:
    $env:BEAR_NAME="sleepybear"; python hello.py; Remove-Item Env:BEAR_NAME
    

方法4:脚本内置加载(跨平台可选)

如果你不想每次执行命令都手动传变量,可以用python-dotenv库从文件加载临时变量,不需要修改shell环境:

  1. 先安装依赖:pip install python-dotenv
  2. 在脚本同目录新建.env文件,写入变量:
    BEAR_NAME="sleepybear"
    
  3. 修改Python脚本加载环境变量:
    import os
    from dotenv import load_dotenv
    
    # 加载.env文件的变量,仅当前脚本进程生效
    load_dotenv()
    name = os.environ.get('BEAR_NAME')
    if name != "":
      print("hello, ", name)
    
  4. 直接执行脚本即可:python hello.py

内容的提问来源于stack exchange,提问作者IsaIkari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 20:18:04