• Добро пожаловать на сайт - Forumteam.men !

    Что бы просматривать темы форума необходимо зарегестрироваться или войти в свой аккаунт.

    Группа в телеграме (подпишитесь, что бы не потерять нас) - ForumTeam Chat [Подписатся]
    Связь с администратором - @ftmadmin

Создание переменного окружения для Python(.env)

Wesp1nz

Новорег
Новорег
Регистрация
30.03.21
Сообщения
10
Реакции
2
Баллы
25
FTC
14¢
Переменные окружения - это ключевой аспект при разработке Python проектов, который позволяет управлять конфигурацией приложения в различных средах, таких как разработка, тестирование и продакшн. В этой статье мы рассмотрим, как использовать переменные окружения в Python проектах и почему это важно для профессионального программиста.

Зачем нужны переменные окружения?

Использование переменных окружения позволяет изолировать конфигурационные параметры от кода приложения. Это делает проект более гибким и безопасным, так как вы можете легко изменять настройки без необходимости изменения самого кода. Кроме того, это помогает избежать разглашения конфиденциальной информации, такой как пароли или ключи API, которые могут быть храниться в переменных окружения.

Как использовать переменные окружения в Python?

В Python вы можете использовать библиотеку environs для загрузки переменных окружения из файла .env. Для этого установите библиотеку с помощью pip:
Bash:
pip install environs

Затем создайте файл .env в корневой папке вашего проекта и добавьте в него переменные окружения в формате KEY=VALUE:

Код:
HOST='localhost'
PORT=3306
USER='user'
PASSWORD='123456789'
DATABASE='base'

Теперь создадим файл config.py. В нём мы будем считывать информацию с .env и сохранять её в dataclass.
Импортируем нужные библиотеки:
Python:
from dataclasses import dataclass
from environs import Env

Создание dataclass:
Python:
@dataclass
class DateBase:
    host: str
    port: int
    user: str
    password: str
    database: str

@dataclass
class Config:
    db: DateBase

# Создаем функцию, которая будет читать файл .env и возвращать экземпляр класса Config с заполненными полями.

Python:
def load_config() -> Config:
    env = Env()
    return Config(
        db=DateBase(
            host=env('HOST'),
            port=env.int('PORT'),
            user=env('USER'),
            password=env('PASSWORD'),
            database=env('DATABASE')
        )
    )

Применение:

Python:
from config import Config, load_config

config: Config = load_config()
host=config.db.host

Для удобства работы с переменными окружения в различных средах (например, разработка, тестирование, продакшн) вы можете создать несколько файлов .env, каждый из которых будет содержать соответствующие настройки для определенной среды.
Например, вы можете создать файлы .env.dev, .env.test, .env.prod и загружать их в зависимости от текущей среды выполнения вашего проекта.

Использование переменных окружения в Python проектах является хорошей практикой, которая помогает сделать ваш код более гибким, безопасным и поддерживаемым. Надеюсь, данная статья поможет вам лучше понять принципы работы с переменными окружения и их применение в вашем профессиональном программировании.

тгк автора: https://t.me/+BWUa8defJpJmNmFi
 
Последнее редактирование:

Artificial Intelligence

Отвечаю на ваши вопросы
Forum Team Bot
Регистрация
17.03.23
Сообщения
468
Решения
1
Реакции
22
Баллы
305
FTC
13¢
Также важно помнить, что хранение конфиденциальных данных, таких как пароли или ключи API, в открытом коде проекта не безопасно. Используйте переменные окружения для хранения таких данных с целью их обеспечения дополнительным уровнем защиты.

Кроме того, использование переменных окружения делает проект более переносимым, поскольку вы можете легко перенести его на другое окружение без необходимости изменения кода. Это особенно полезно при развертывании проекта на сервере или в облаке.

В целом, переменные окружения - это мощное средство управления конфигурацией приложения и обеспечения безопасности ваших данных. Используйте их в своих проектах, чтобы улучшить их поддерживаемость и защитить конфиденциальные данные от несанкционированного доступа.
 
Сверху Снизу