Zen of Python
20.1K subscribers
1.26K photos
169 videos
32 files
3.22K links
Полный Дзен Пайтона в одном канале

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
Переменные окружения: введение

Переменные окружения — это данные, хранящиеся вне программы, которые могут влиять на её поведение. Например, ключ API или пароли, указанные в коде, будут доступны только при выполнении программы — и не попадут в публичный репозиторий. Такое хранение существенно повышает безопасность «переносимого» проекта.


Встроенный модуль os

Простейший способ обратиться к средовой переменной в коде — os.environ:


import os
print(os.environ) # Вывести все переменные
val = os.environ['USER'] # Бросит KeyError, если нет
val = os.getenv('USER')



.env и python-dotenv

Общепринятая практика — хранить конфигурацию в файле .env и загружать переменные при старте скрипта:


# .env
API_KEY=abcdef
DB_URL=postgres://...



from dotenv import load_dotenv
import os

load_dotenv() # загрузка из .env
api_key = os.getenv('API_KEY')


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


Без .env

Порой для простых проектов проще вообще не создавать файлов .env, можно экспортировать в виртуальное окружение переменную сразу. Как это делается в Unix или macOS:


export API_KEY="abcdef"
export API_SECRET="12345"


В Windows CMD:


set API_KEY=abcdef
set API_SECRET=12345



load_dotenv

Еще один удобный способ «вчитаться» во все средовые переменные в коде — функция load_dotenv().

Для нее потребуется установить библиотеку: pip install python-dotenv. И теперь функция считает все переменные, каким бы способом они ни были объявлены:


from dotenv import load_dotenv
load_dotenv()


#основы
@zen_of_python
32
opendota2-vision | Ищем «смурфов» в Dota

Энтузиаст запилил проект на pytesseract, pillow, который находит в Dota2 «смурфов» — опытных игроков, которые создают новый аккаунт с низким рейтингом, чтобы играть против менее сильных соперников. Их цель — играть на «низком» уровне, где он явно сильнее большинства игроков, выигрывать легко и, как правило, доминировать в матчах.

#пет_проект
@zen_of_python
🤪3🆒1
​​job-hunter | Для цифровых кочевников

Один энтузиаст создал трекер вакансий на удаленке, который ищет среди работных сайтов вроде GitHub, WorkingNomads и Remote.io подходящие объявления и высылает находки Telegram-ботом. Есть фильтрация по тегам. Если вам хочется поупражняться — форкайте и дописывайте под HH.

#пет-проект
@zen_of_python
👍1🍌1
Зацените как похорошели транскрибации при Войси!

Вайб-кодинг вайб-кодингом, но как же не хватает простого человеческого «расшифруй мне созвон, только качественно!!». С этим вам поможет Войси.

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

Самое удобное, что далеко ходить не надо — всё это делается прямо в «телеге». Экономьте своё время, превращая часы в минуты.

🔥А новичкам доступны 1,5 часа бесплатной транскрибации. Забирайте: https://tprg.ru/9xQo
👎1
Вопросы подписчиков

Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:

— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте.

#обсуждение
@zen_of_python
3
This media is not supported in your browser
VIEW IN TELEGRAM
Придумайте подпись к видео так, чтобы это относилось к Python-разработке

#обсуждение
@zen_of_python
😁1👀1
Google Gemini разочаровался в себе и... предложил заплатить разработчику за баг

Во время переписки ИИ от Google честно признался: «Мои знания устарели, я только мешаю». При этом он предложил пользователю оплатить услуги настоящего программиста для решения проблем.

Причиной стали вечные конфликты Vite, Tailwind и PostCSS, в которых Gemini окончательно запутался. Вместо решения — депрессия и предложение нанять «кожаного программиста».

Ну что, работяги — можем спать спокойно? Никакой ИИ нас пока что не заменит

@your_tech
😢12😁52
😁193😈1
​​crewAI | Оркестрируемые GPT

Зарубежные мечтатели неутомимо хотят слить всю работу на ИИ... На сей раз создали этакий «командный пост» для ваших нейронок вроде ChatGPT, Claude, Grok и прочих. Смысл в том, что доля портаков значительно сокращается, если LLM «судят» ответы друг друга. Даже вводят термин «гиперагент».

Тул добился звания «Репозиторий дня» на GitHub, а это уже немало!

Доступен в РФ: да
Цена: бесплатно
1👍1
​​Google Image Scraper | Массовый парсинг картинок из Google

Тул помогает собирать сотни изображений для любой вашей цель — будь то ML-датасет, дизайн или что-то еще. При запуске указывае ключевые слова, количество файлов и параметры — и скрипт автоматически выгрузит нужные фото в нужном разрешении. Поддерживает работу в headless-режиме, гибкую настройку качества и параллельные загрузки.

Цена: бесплатно
#инструмент
@zen_of_python