Python dotenv 安装及使用

在开发Python应用程序时,通常会需要存储一些敏感信息,如数据库连接信息、API密钥等。为了避免将这些敏感信息直接硬编码到代码中,我们可以使用 python-dotenv 库来管理环境变量。

什么是 python-dotenv

python-dotenv 是一个Python库,用于从 .env 文件中加载环境变量。.env 文件是一个简单的文本文件,用于存储环境变量和其对应的值,每行一个环境变量,格式为 KEY=VALUE

安装 python-dotenv

你可以使用 pip 来安装 python-dotenv

pip install python-dotenv

使用 python-dotenv

首先,在你的项目根目录下创建一个 .env 文件,并在其中定义你的环境变量:

DB_HOST=localhost
DB_USER=myuser
DB_PASSWORD=mypassword

接着,在你的Python代码中,你可以通过以下方式加载 .env 文件中的环境变量:

from dotenv import load_dotenv
import os

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

# 使用 os 模块访问环境变量
db_host = os.getenv("DB_HOST")
db_user = os.getenv("DB_USER")
db_password = os.getenv("DB_PASSWORD")

print(f"DB_HOST: {db_host}")
print(f"DB_USER: {db_user}")
print(f"DB_PASSWORD: {db_password}")

示例应用

假设我们正在开发一个使用数据库的Python应用程序,现在我们可以使用 python-dotenv 来安全地管理数据库连接信息。在我们的代码中,我们可以这样使用环境变量:

import pymysql
from dotenv import load_dotenv
import os

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

# 使用 os 模块访问环境变量
db_host = os.getenv("DB_HOST")
db_user = os.getenv("DB_USER")
db_password = os.getenv("DB_PASSWORD")

# 连接到数据库
connection = pymysql.connect(
    host=db_host,
    user=db_user,
    password=db_password,
    database='mydatabase'
)

# 执行SQL查询
cursor = connection.cursor()
cursor.execute("SELECT * FROM mytable")
result = cursor.fetchall()

for row in result:
    print(row)

# 关闭数据库连接
connection.close()

总结

通过使用 python-dotenv,我们可以安全地管理敏感信息,避免将其硬编码到代码中。这不仅有助于提高安全性,还能简化开发和部署过程。希望本文对你理解和使用 python-dotenv 有所帮助。

pie
    title 环境变量分布图
    "DB_HOST": 30
    "DB_USER": 40
    "DB_PASSWORD": 30
journey
    title 代码运行流程图
    section 加载环境变量
        加载 .env 文件
    section 连接数据库
        连接到数据库
    section 执行查询
        执行SQL查询
    section 关闭连接
        关闭数据库连接

希望本文对你有所启发,祝愉快编程!