Добавить в корзинуПозвонить
Найти в Дзене
Аналитика данных

Где хранить секретные ключи для ноутбука Jupyter?

При написании python-скрипта часто требуется использовать в коде различные токены от API, ключи доступа, логины, пароли, адреса электронных почтовых ящиков и т.п. Хранить такую информацию прямо в коде, конечно же не допустимо, т.к. может привести к плачевным последствиям. Один из вариантов защиты – это использование специального файла .env и библиотеки dotenv. Создаём файл <.env> в папке, в которой находится python-скрипт/ipynb-файл. Файл начинается с точки. Такие файлы скрыты от просмотра в консоли и в некоторых операционных системах. Далее записываем в этот файл переменные в следующем формате: ключ=значение. По одной переменной в строке! SOME_TOKEN=some_token_symbols
SOME_TELEGRAM_TOKEN=some_telegram_token_symbols
...
SOME_TELEGRAM_CHAT_ID=some_telegram_chat_id_symbols В скрипте пишем строчку: pip install python-dotenv Потом импортируем нужные библиотеки: import os
from dotenv import load_dotenv Далее выгружаем из файла .env все ключи в переменные: load_dotenv() SOME_TOKEN = os.ge

При написании python-скрипта часто требуется использовать в коде различные токены от API, ключи доступа, логины, пароли, адреса электронных почтовых ящиков и т.п. Хранить такую информацию прямо в коде, конечно же не допустимо, т.к. может привести к плачевным последствиям. Один из вариантов защиты – это использование специального файла .env и библиотеки dotenv.

Как использовать .env

Создаём файл <.env> в папке, в которой находится python-скрипт/ipynb-файл. Файл начинается с точки. Такие файлы скрыты от просмотра в консоли и в некоторых операционных системах. Далее записываем в этот файл переменные в следующем формате: ключ=значение. По одной переменной в строке!

SOME_TOKEN=some_token_symbols
SOME_TELEGRAM_TOKEN=some_telegram_token_symbols
...
SOME_TELEGRAM_CHAT_ID=some_telegram_chat_id_symbols

В скрипте пишем строчку:

pip install python-dotenv

Потом импортируем нужные библиотеки:

import os
from dotenv import load_dotenv

Далее выгружаем из файла .env все ключи в переменные:

load_dotenv()
SOME_TOKEN = os.getenv('SOME_TOKEN')
SOME_TELEGRAM_TOKEN = os.getenv('SOME_TELEGRAM_TOKEN')
...
SOME_TELEGRAM_CHAT_ID = os.getenv('SOME_TELEGRAM_CHAT_ID')

Всё, теперь можно использовать выгруженные ключи в коде:

print('Прочитано из файла .env:')
print('SOME_TOKEN:', SOME_TOKEN)
print('SOME_TELEGRAM_TOKEN:', SOME_TELEGRAM_TOKEN)
print('SOME_TELEGRAM_CHAT_ID:', SOME_TELEGRAM_CHAT_ID)
Использование .env
Использование .env