Найти в Дзене
1000Li

🐍 Точка окружения. Что за зверь такой .env?

Когда я только начинал писать ботов на Python, особенно для Telegram, главный вопрос был — куда девать важные данные вроде токена бота, паролей и адресов серверов? Сначала я просто вписывал токен прямо в код — пока однажды (ладно, далеко не однажды) не отправил его случайно в GitHub 😅 Потом пробовал JSON, но в итоге нашёл самое удобное и безопасное решение — файл окружения .env. .env — это обычный текстовый файл, где хранятся переменные окружения: токены, пароли, API-ключи, настройки режима логирования и т.д. А ваш код потом просто «подтягивает» их оттуда, не раскрывая важные данные внутри самого скрипта. BOT_TOKEN=1234567890:ABCdefGhijkLmNoPqrsTuv
PROXY_URL=http://123.45.67.89:8000
LOG_MODE=on Установите библиотеку для работы с .env: pip install python-dotenv В начале кода подключите и загрузите переменные: from dotenv import load_dotenv
import os
load_dotenv()
BOT_TOKEN = os.getenv("BOT_TOKEN")
LOG_MODE = os.getenv("LOG_MODE") И обязательно добавьте файл .env в .gitignore, чтобы о
Оглавление

Когда я только начинал писать ботов на Python, особенно для Telegram, главный вопрос был — куда девать важные данные вроде токена бота, паролей и адресов серверов?

Сначала я просто вписывал токен прямо в код — пока однажды (ладно, далеко не однажды) не отправил его случайно в GitHub 😅

Потом пробовал JSON, но в итоге нашёл самое удобное и безопасное решение — файл окружения .env.

💡 Что такое .env

.env — это обычный текстовый файл, где хранятся переменные окружения: токены, пароли, API-ключи, настройки режима логирования и т.д.

А ваш код потом просто «подтягивает» их оттуда, не раскрывая важные данные внутри самого скрипта.

📄 Пример файла .env

BOT_TOKEN=1234567890:ABCdefGhijkLmNoPqrsTuv
PROXY_URL=http://123.45.67.89:8000
LOG_MODE=on

⚙️ Как это работает

Установите библиотеку для работы с .env:

pip install python-dotenv

В начале кода подключите и загрузите переменные:

from dotenv import load_dotenv
import os
load_dotenv()
BOT_TOKEN = os.getenv("BOT_TOKEN")
LOG_MODE = os.getenv("LOG_MODE")

И обязательно добавьте файл .env в .gitignore, чтобы он никогда не попал в репозиторий (темы Git, #gitignore, обсудим в других постах или посмотрите сами, что приветствуется) .

🚀 Преимущества такого подхода

  1. 🔒 Безопасность — токены и пароли не лежат на виду в коде.
  2. 🧠 Удобство — можно быстро менять настройки без правки кода.
  3. 🤝 Переносимость — один и тот же код можно запускать на разных серверах, просто подменив .env.

🧩 Из личного опыта

Я часто добавляю туда и системные флаги. Например:

LOG_MODE=on

При on бот выводит отладочные логи, а при off работает тише и немного быстрее.

Мелочь, а приятно.

Что же, пишите проекты, путайтесь в токенах к чат-ботам, бейте клавиатуру, трите глаза от усталости - все пойдёт на пользу!

Удачи в вашем творчестве!

💬 Темы, которые мы сегодня затронули 👇

Подписывайтесь:

👉 Мой Дзен
👉
Telegram-канал

#python #программирование #начинающим #ботынаpython #телеграмбот #окружение #dotenv #гит #gitignore #советыразработчику #кодбезошибок #опытразработчика #учимспитоном #путьпрограммиста #devlife