Рубрики
Без рубрики

Переменные окружающей среды в Python

Переменные окружающей среды в Python до того, как мы начнем, давайте посмотрим на нашу маленькую словарь Env … Tagged с Python, Env, Environmental, DeCouple.

Прежде чем мы начнем, давайте посмотрим на наш маленький словарь

ENV = Environmental Variable

ENVs = Environmental Variables

Не на самом деле не создал какого -либо крупного проекта с Python, кроме написания сценариев или решения простых алгоритмов. Сегодня я вносил изменения в свои Facebook_autopost_bot Когда я понял, что мне нужно будет настроить это, чтобы позволить другим использовать код, а также поделиться им открыто на GitHub, не выпуская мои пароли и конфигурации.

Может, вы уже используете Envs В ваших сценариях Python или приложениях, но если вы не начали, сейчас самое время рассмотреть изменение. Я полагаю, что до того, как вы читаете это, вы уже знаете, что такое Env, поэтому не нужно делать этот пост дольше. ПРИМЕЧАНИЕ. ENTS существует вне вашего кода в рамках вашей среды сервера – может помочь вам как на оптимизацию, так и более безопасное процесс запуска ваших сценариев и приложений. Автоматизация и безопасность являются основными причинами принятия ENVS

Давайте начнем

В Python Environment переменные реализованы с использованием ОС упаковка.

Образец кода:

import os

print(environ)

Результат: покажу вам все, существующие на вашей машине (объект, содержащий много информации о вашей машине, ОС, Сервисах и т. Д.)

Примечание: Это отредактированный (сокращенный) вывод с целью длины поста в блоге.

>>> environ({'SHELL': '/bin/bash', 'LSCOLORS': 'ExFxBxDxCxegedabagacad', 'SESSION_MANAGER': 'local/igmrrf:@/tmp/.ICE-unix/2554,unix/igmrrf:/tmp/.ICE-unix/2554', 'QT_ACCESSIBILITY': '1', 'APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL': 'true', 'LANGUAGE': 'en_NG:en', 'QT4_IM_MODULE': 'ibus', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'SSH_AUTH_SOCK': '/run/user/1000/keyring/ssh', 'XMODIFIERS': '@im=ibus', 'DESKTOP_SESSION': 'ubuntu', 'SSH_AGENT_PID': '2467', 'NO_AT_BRIDGE': '1', 'GTK_MODULES': 'gail:atk-bridge', 'DBUS_STARTER_BUS_TYPE': 'session', 'PWD': '/home/igmrrf/Desktop/Writings/ENVs in Python',   'TERM_PROGRAM': 'vscode', '_': '/usr/bin/python3'})

Команды для чтения и написания переменных среды:

Чтение

os.environ.get('USER')
os.environ['User']
os.getenv('USER')

>>> igmrrf
>>> igmrrf
>>> igmrrf

Команды распечатают ваше текущее имя пользователя

ПРИМЕЧАНИЕ. Если нет переменной среды, соответствующей ключу, она вернет Никто

ПИШУ

Чтобы изменить эвинг

os.environ['USER'] = 'tldo'
os.environ['USER']

>>>tldo

Очистить Ответ

os.environ.pop('USER')

При попытке получить доступ к этой Env, вы получите Никто

os.environ.get('USER')

>>> None

Очистить Все Env

os.environ.clear()

При попытке получить доступ к любой ENV, вы получите Keyerror

os.environ.get('USER')

>>> KeyError: key does not exist.

Примечание: я сначала напугался этой четкой функции, но не волнуйтесь, настройки, которые вы применяете в своих проектах Python и сценариях, не влияют на другие проекты за пределами этого конкретного процесса или влияют на Envs Machine. Если вы хотите повлиять на широкое изменение машины на вашей машине, вам нужно будет запустить эти команды из Bash с Sudo Привилегии

Использование ENVS

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

Пакет, который делает это без особых усилий, является Python-Decouple

Откройте свой терминал и запустите

pip install python-decouple

Если вы используете Linux Ubuntu и установите Python с помощью Sudo Apt Установить Python3 тогда бежать

pip3 install python-decouple

Полезный пакет для обработки ENVS локально, а не для нас, акцентируя нашу ОС ( Импорт ОС ) и манипулирование, которая немного сложна 😉

Если вы уже установили, вы получите

Requirement already satisfied: python-decouple in /home/your_name/.local/lib/python3.8/site-packages (3.3)

иначе он будет установлен через несколько секунд

Использование Python-Decouple

Давайте начнем с создания и открытия нашего файла .env в корне вашего проекта

$ touch .env
$ code .env

Примечание: код это команда, которая поставляется с VSCODE Анкет Запустите его только в том случае, если у вас есть vScode установить и правильно настроить на вашем компьютере

Затем настройте файл следующим образом

username=igmrrf
PASSWORD=12345
URL=https://api.igmrrf.com

Затем импортируйте Python-Decouple в свой сценарий Python, где вам нужны эти переменные

from decouple import config

print(config('URL'))
print(config('USERNAME'))

>>> your_api_endpoint
>>> igmrrf

Разве это не просто? 😄

Python предоставляет пакет почти для всего, это одна из причин, по которой Python настолько популярен и получает больше признания.

Если у вас есть секунда, либо напишите об этом, либо зайдите в пакет Python 😉

Оригинал: “https://dev.to/igmrrf/environmental-variables-in-python-5a2k”