解析环境文件
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
个文件)
最后:
- 您可以像加载文本文件一样加载
.env
:
with open(".env") as env:
...
然后继续使用正则表达式手动解析它
- 如果由于某种原因
.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.
如何在 .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
个文件)
最后:
- 您可以像加载文本文件一样加载
.env
:
with open(".env") as env:
...
然后继续使用正则表达式手动解析它
- 如果由于某种原因
.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.