python-dotenv - python-dotenv 快速上手

python-dotenv 概述

  • python-dotenv 是一个允许开发者从 .env 文件中读取环境变量的一个 Python 库

python-dotenv 使用

  1. 安装 python-dotenv 库
shell 复制代码
pip install python-dotenv
  1. 创建并编辑 .env 文件
env 复制代码
SECRET_KEY=my-secret-key-123
DATABASE_URL=postgresql://user:password@localhost/dbname
DEBUG=True
API_KEY=my-api-key-123
MAX_CONNECTIONS=10
  1. 在 Python 代码中读取环境变量
python 复制代码
from dotenv import load_dotenv
import os

# 加载 .env 文件中的环境变量
load_dotenv()

# 访问 .env 文件中的环境变量
secret_key = os.getenv('SECRET_KEY')
database_url = os.getenv('DATABASE_URL')
debug = os.getenv('DEBUG')
api_key = os.getenv('API_KEY')
max_connections = os.getenv('MAX_CONNECTIONS')

other_content = os.getenv('OTHER_CONTENT')

print(f"Secret Key: {secret_key}, type: {type(secret_key)}")
print(f"Database URL: {database_url} type: {type(database_url)}")
print(f"Debug Mode: {debug}, type: {type(debug)}")
print(f"API Key: {api_key}, type: {type(api_key)}")
print(f"Max Connections: {max_connections}, type: {type(max_connections)}")

print(f"Other Content: {other_content}, type: {type(other_content)}")
复制代码
# 输出结果

Secret Key: my-secret-key-123, type: <class 'str'>
Database URL: postgresql://user:password@localhost/dbname type: <class 'str'>
Debug Mode: True, type: <class 'str'>
API Key: my-api-key-123, type: <class 'str'>
Max Connections: 10, type: <class 'str'>
Other Content: None, type: <class 'NoneType'>

补充学习

  • import os 用于导入 Python 的操作系统接口模块,此模块提供与操作系统交互的各种功能,对于获取环境变量,有如下方式
  1. os.getenv():安全,推荐使用,不存在时返回 None,可以指定默认值

  2. os.environ\[\]:直接访问,如果不存在会抛出异常

  3. os.environ.get():与 os.getenv() 功能相同

相关推荐
狂炫冰美式3 分钟前
人均配了AI, 为什么公司还是没变快? 🤔 本质还是分布式系统问题
前端·后端·架构
ClouGence2 小时前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
她的男孩2 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
爱读源码的大都督2 小时前
Claude Code源码分析(三):为什么系统提示词中需要有tools呢?
前端·人工智能·后端
爱勇宝2 小时前
Claude Code 被曝暗藏“隐形检测”代码:封代理不是最可怕的,可怕的是你根本不知道它在干什么
前端·后端·程序员
ITOM运维行者3 小时前
从零搭建企业级服务器监控体系:踩坑实录与架构设计
前端·后端
用户4099322502123 小时前
Vue状态管理入门第四章:组合式store和SSR风险
前端·vue.js·后端
用户34232323763173 小时前
SPI 通信与高速外设驱动详解
后端
魏祖潇3 小时前
SDD 完整指南——Spec 端打底、Story 端交付、留白区
人工智能·后端
你好潘先生3 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行