解析环境文件

Ach*_*xy_ 6 python secret-key python-3.x

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

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

Ach*_*xy_ 7

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

假设文件的内容.env是:

A=B
FOO=BAR
SECRET=VERYMUCH
Run Code Online (Sandbox Code Playgroud)

您可以像这样解析内容:

A=B
FOO=BAR
SECRET=VERYMUCH
Run Code Online (Sandbox Code Playgroud)

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

B
BAR
VERYMUCH
Run Code Online (Sandbox Code Playgroud)

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

.env
Run Code Online (Sandbox Code Playgroud)

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

最后 :

  1. 您可以.env像文本文件一样加载:
import os

print(os.getenv("A"))
print(os.getenv("FOO"))
print(os.getenv("SECRET"))
# And so on...
Run Code Online (Sandbox Code Playgroud)

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

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

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

B
BAR
VERYMUCH
Run Code Online (Sandbox Code Playgroud)