解析环境文件

Parsing env files

如何在 .env 文件中安全地存储密码和 API 密钥并正确解析它们?使用 python?

我想存储不想推送到 public 存储库的密码。

您可以解析 .env 文件的键值,您可以使用 os.getenv(key)key 替换为您要访问的值的键

假设 .env 个文件的内容是:

A=B
FOO=BAR
SECRET=VERYMUCH

你可以这样解析内容:

import os

print(os.getenv("A"))
print(os.getenv("FOO"))
print(os.getenv("SECRET"))
# And so on...

这将导致(输出/标准输出):

B
BAR
VERYMUCH

现在,如果您正在使用 git 版本控制并且您不希望自己不小心推送环境文件,那么将其添加到您的 .gitignore 文件中,它们将被方便地忽略。

.env

(尽管您应该使用现有的 .gitignore 模板让您的生活更轻松一些,所有模板默认情况下都会忽略 .env 个文件)

最后:

  1. 您可以像加载文本文件一样加载 .env
with open(".env") as env:
    ...

然后继续使用正则表达式手动解析它

  1. 如果由于某种原因 .env 文件未被您的 python 脚本检测到,则使用此模块 python-dotenv

您可以像这样使用上述库:

from dotenv import load_dotenv

load_dotenv()  # take environment variables from .env.

# Code of your application, which uses environment variables (e.g. from `os.environ` or
# `os.getenv`) as if they came from the actual environment.