在 Python 中,你可以通过 os
模块来设置环境变量。环境变量通常用于存储配置设置或敏感信息,比如 API 密钥或数据库密码。
这是设置环境变量的方法。
1. 在Python中设置环境变量你可以通过 os.environ
来设置环境变量。
import os
# 我们设置了一个环境变量
os.environ["MY_VARIABLE"] = "my_value"
# 我们访问这个环境变量
print(os.environ["MY_VARIABLE"]) # 输出结果: my_value
-
这会为当前进程以及它的任何子进程设置环境变量。
- 这些更改在Python脚本退出后不会保存下来。
你可以为特定的代码段临时设定环境变量。
import os
# 保存原始值(如果存在的话)
original_value = os.environ.get("MY_VARIABLE")
# 设定环境变量
os.environ["MY_VARIABLE"] = "temporary_value"
# 利用新值
print(os.environ["MY_VARIABLE"]) # 输出: 'temporary_value'
# 恢复原始值(如有)
if original_value:
os.environ["MY_VARIABLE"] = original_value
else:
del os.environ["MY_VARIABLE"]
3. 使用 subprocess
设置环境变量
当您需要为子程序设置环境变量时,可以这样做。
import subprocess
# 设置环境变量给子进程
result = subprocess.run(
["python", "-c", "import os; print(os.getenv('MY_VARIABLE'))"],
env={"MY_VARIABLE": "subprocess_value", **os.environ},
text=True,
capture_output=True,
)
print(result.stdout.strip()) # 输出结果为: subprocess_value
4. 使用 .env
文件与 python-dotenv
本节介绍如何使用 python-dotenv
库来加载 .env
文件中的环境变量。
在项目中,我们通常管理环境变量,使用 .env
文件和 python-dotenv
库。
安装一下 python-dotenv
pip install python-dotenv # 安装python-dotenv库
创建一个 .env
文件
MY_VARIABLE=my_value # 这里设置了MY_VARIABLE的值为my_value
在 Python 中加载 .env
文件
从 dotenv 模块导入 load_dotenv
import os
# 从 .env 文件中加载环境变量
load_dotenv()
# 获取变量值
print(os.getenv("MY_VARIABLE")) # 输出结果为: my_value
5. 永久设置环境变量
要永久设置环境变量,你需要在你的操作系统设置中配置它们。
Linux/ macOS- 编辑
~/.bashrc
、~/.bash_profile
或~/.zshrc
export MY_VARIABLE="my_value"
注:这行代码将环境变量 MY_VARIABLE
设置为 "my_value"
。
2. 应用更改:
# 源文件~/.bashrc (加载.bashrc配置文件)
Windows
- 在系统属性中打开环境变量设置。
- 在系统变量或用户变量下添加一个新的环境变量。
- 使用
.env
文件: 这将敏感信息从代码库中隔离出来,并使配置管理更加方便。 - 使用
os.getenv
访问: 使用os.getenv("MY_VARIABLE", default_value)
提供默认值,以防变量未设置。 - 避免硬编码: 永远不要在脚本里直接硬编码敏感信息,比如 API 密钥或密码。
使用示例 .env
和 os.getenv
从 dotenv 模块导入 load_dotenv
导入 os。
load_dotenv()
db_user = os.getenv("DB_USER", "default_user")
db_password = os.getenv("DB_PASSWORD", "default_password")
print(f"用户: {db_user}, 密码: {db_password}")
这样能更好地管理环境变量,同时保证安全和灵活性。
如需更多详情或在选择最适合您需求的解决方案时,我们的团队将帮助您做出选择。您可以拨打+1 (647) 491 6566联系我们。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦