从 Python 中的多个“.env”文件中读取环境变量
Reading environment variables from more than one ".env" file in Python
我需要从两个不同的文件中获取环境变量,以便将 user+pw 保留在 git 存储库之外。我从另一个位置下载敏感用户+密码并将其添加到 .gitignore.
我正在使用
from os import getenv
from dotenv import load_dotenv
...
load_dotenv()
DB_HOST=getenv('DB_HOST') # from env file 1
DB_NAME=getenv('DB_NAME') # from env file 1
DB_USER=getenv('DB_USER') # from env file 2
DB_PASS=getenv('DB_PASS') # from env file 2
我在 python 脚本的文件夹中有两个“.env”文件。
env_file.env 包含:
DB_HOST=xyz
DB_NAME=abc
env_file_in_gitignore.env 需要远离 git 存储库,但可以使用 sh 脚本下载:
DB_USER=me
DB_PASS=eao
如何避免错误:
TypeError: connect() argument 2 must be str, not None
connect() argument 2 must be str, not None
这是因为两个文件之一未用于 .env 导入而抛出的?
如何从两个不同的“.env”文件获取环境变量,这两个文件都存储在工作目录中?
您可以在 load_dotenv
函数中添加文件路径作为参数
from dotenv import load_dotenv
import os
load_dotenv(<file 1 path>)
load_dotenv(<file 2 path>)
有一种加载 env 文件的方法是 load_dotenv
您可以使用任意数量的 env 文件
from dotenv import load_dotenv
load_dotenv('path1')
load_dotenv('path2)
...
有关详细信息,请阅读 this
我需要从两个不同的文件中获取环境变量,以便将 user+pw 保留在 git 存储库之外。我从另一个位置下载敏感用户+密码并将其添加到 .gitignore.
我正在使用
from os import getenv
from dotenv import load_dotenv
...
load_dotenv()
DB_HOST=getenv('DB_HOST') # from env file 1
DB_NAME=getenv('DB_NAME') # from env file 1
DB_USER=getenv('DB_USER') # from env file 2
DB_PASS=getenv('DB_PASS') # from env file 2
我在 python 脚本的文件夹中有两个“.env”文件。
env_file.env 包含:
DB_HOST=xyz
DB_NAME=abc
env_file_in_gitignore.env 需要远离 git 存储库,但可以使用 sh 脚本下载:
DB_USER=me
DB_PASS=eao
如何避免错误:
TypeError: connect() argument 2 must be str, not None
connect() argument 2 must be str, not None
这是因为两个文件之一未用于 .env 导入而抛出的?
如何从两个不同的“.env”文件获取环境变量,这两个文件都存储在工作目录中?
您可以在 load_dotenv
函数中添加文件路径作为参数
from dotenv import load_dotenv
import os
load_dotenv(<file 1 path>)
load_dotenv(<file 2 path>)
有一种加载 env 文件的方法是 load_dotenv
您可以使用任意数量的 env 文件
from dotenv import load_dotenv
load_dotenv('path1')
load_dotenv('path2)
...
有关详细信息,请阅读 this