В моем последнем личном проекте мне нужно было надежно хранить ключ API. Наиболее рекомендуемый способ сделать это — сохранить их как переменные среды. Поскольку хранение множества переменных среды из разных проектов на моей машине затруднительно, я нашел простую альтернативу, позволяющую справиться с этой ситуацией.
Решение состоит в том, чтобы использовать модуль python-dotenv, который позволяет нашему коду использовать переменные, хранящиеся в отдельном файле .env, как если бы они были обычными переменными среды.
Процесс очень прост...
Прежде всего мы создаем файл .env, в котором храним переменные:
# Definimos las variables en el archivo .env VARIABLE1 = "Valor 1" VARIABLE2 = "Valor 2"
Этот файл можно создать либо в корневой папке, либо в другом месте нашего проекта.
Мы импортируем модуль dotenv, а точнее функцию load_dotenv, в наш проект. Нам также придется импортировать модуль os для импорта переменных среды после загрузки содержимого .env:
.
from dotenv import load_dotenv import os
Поскольку это не собственный модуль Python, его необходимо установить через Pip с помощью команды pip install python-dotenv.
Функция load_dotenv() загружает переменные в программу как переменные среды. С помощью модуля мы можем восстановить их значения и присвоить их переменным внутри проекта:
# Cargamos las variables del archivo como variables de entorno. load_dotenv() # Se almacena el valor "Valor 1" de la primera variable. VARIABLE1 = os.getenv("VARIABLE1") # Otra forma de recuperar el valor de la variable. VARIABLE2 = os.environ.get("VARIABLE2")
Если файл .env не находится по тому же пути, где выполняется код, мы должны определить местоположение файла:
load_dontenv(path="ruta/.env")
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3