pythonl | Unsorted

Telegram-канал pythonl - Python/ django

52806

по всем вопросам @haarrp @itchannels_telegram - 🔥 best it channels @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - ml 📚 @pythonlbooks -📚books

Subscribe to a channel

Python/ django

🖥 Python Mini Projects: a collection of projects to help you improve your programming skills.


Мини-проекты на Python.

Коллекция простых небольших проектов на Python, которые помогут вам улучшить свои навыки программирования.

🖥 Github

@pythonl

Читать полностью…

Python/ django

🖥 Полезное руководство о #! в Python

🟡Когда вы читаете чужой Python код, то часто видите загадочную строку, которая всегда появляется вверху файла и начинается с характерной последовательности shebang #!.

🟡Короче говоря, shebang — это комментарий особого типа, который вы можете включать в исходный код, чтобы указать оболочке операционной системы, где найти интерпретатор для остальной части файла:

#!/usr/bin/python3

print("Hello, World!")


🟡Если вы используете shebang, он должен размещаться в первой строке вашего скрипта и должен начинаться со знака решётки #, за которым следует восклицательный знак !, известный как bang, отсюда и название shebang.

🟡Shebang имеет отношение только к исполняемым сценариям, которые вы хотите выполнять без явного указания программы для их запуска. Обычно вы не помещаете shebang в модуль Python, который содержит только определении функций и классов, предназначенные для импорта из других модулей. Поэтому используйте shebang, если вы не хотите ставить перед командой, которая запускает ваш скрипт Python, префикс python или python3.

📎 Читать подробнее

@pythonl

Читать полностью…

Python/ django

🖥 Полезная статья по классам и объектам в Python

В этой статье очень подробно описывается работа с объектами и классами в Python, рассказывается о таких вещах как:
— конструкторы
— атрибуты объекта
— методы классов
— деструкторы

В целом, очень полезно, рекомендую)

📎 Статья

@pythonl

Читать полностью…

Python/ django

🖥 Развивающийся интерпретатор RustPython

🔥 Относительно недавно стал доступен выпуск проекта RustPython 0.3, развивающего интерпретатор языка программирования Python, написанный на языке Rust. RustPython нацелен на обеспечение совместимости с CPython 3.11 и более новыми выпусками.

Проект основал Shing Lyu, один из разработчиков движка Servo и участник перевода CSS-движка Firefox на компоненты, написанные на языке Rust. Для оценки текущего состояния разработки можно использовать web-интерфейс с интерпретатором RustPython, скомпилированным в WebAssembly. Код распространяется под лицензией MIT.

RustPython состоит из парсера кода на Python в абстрактное синтаксическое дерево (AST), компилятора AST в байткод и виртуальной машины для выполнения байткода. Для ускорения выполнения предоставляется начальная реализация JIT-компилятора, преобразующего python-функции в машинный код. Поддерживается компиляция RustPython в форму универсального WASI-модуля на WebAssembly, который может запускаться в различных операционных системах.

Проектом также предоставляются средства для интеграции кода на языке Python в проекты на языке Rust, без применения биндингов на основе CPython - RustPython позволяет встраивать Python-конструкции непосредственно в код на языке Rust и использовать Python в качестве языка скриптинга в приложениях.

▶️Из проектов, уже использующих RustPython, отмечаются СУБД GreptimeDB, игровой движок pyckitup, игра Robot Rumble и linter Ruff.

🖥 GitHub

@pythonl

Читать полностью…

Python/ django

🔥 Совет по Python: Распаковка с помощью iterables!

Знаете ли вы, что "распаковка" работает со всеми видами iterable (т.е. не только со списками или кортежами), делая ваш код короче и элегантнее. 🚀

Этот небольшой фрагмент кода / хитрость позволяет вам легко захватывать ключи или элементы. 🐍 ✨

#Python #tips

@pythonl

Читать полностью…

Python/ django

🖥 5 полезных расширений VScode для работы с документацией Python и не только 🌟

Draw.io Integration
Хорошо подходит для работы со сложными диаграммами: сперва можно создать диаграмму в десктопной версии Draw.io, а потом доработать ее в VScode с помощью расширения Draw.io Integration.

Quarto
Quarto — крутая штука для работы с документацией под R, Python, Julia и Observable. Расширение Quarto для VScode поможет редактировать и рендерить QMD-файлы. В нем есть режим предварительного просмотра, который позволяет менять код документа и одновременно просматривать результат.

Jupyter
Jupyter — один из самых популярных фреймворков для создания заметок, особенно в Python. Кстати, Jupyter классно работает вместе с документацией Quarto для Python. Расширение VScode Jupyter интегрирует заметки Jupyter в редактор VScode и поддерживает ipynb-файлы.

Markdown All in One
С расширением Markdown All in One удобно редактировать документацию в формате Markdown. Оно располагает два окна рядом: редактор кода и тут же результат.

Mermaid
Mermaid особенно полезен, если вам нужно создать структуру кодовой базы или динамическую диаграмму. В VScode есть два расширения для работы с файлами Mermaid — Mermaid Preview и Markdown Preview Mermaid Support.

@pythonl

Читать полностью…

Python/ django

🖥 Полезная статья по алгоритмам и структурам данных 🔥

В статье описаны такие структуры данных как:
— Массив (Array)
— Динамический массив (Dynamic array)
— Связный список (Linked list)
— Стек (Stack)
— Очередь (Queue)
— Множество (Set)
— Карта (Map)
— Двоичное дерево поиска (Binary search tree)
— Префиксное дерево (Trie)
— Граф (Graph)

Параллельно рассказывается про самые популярные алгоритмы и ещё много всего)

📎 Ссылка на статью
📎 Ещё статья в тему на русском

@pythonl

Читать полностью…

Python/ django

🖥 Awesome-Web-Scraping

Список куртых инструментов, библиотек и веб-сервисов, используемых при парсинге и обработке данных.

Github

@pythonl

Читать полностью…

Python/ django

⁉️ Как эффективно работать с паттернами микросервисной архитектуры в Python? 

Узнайте на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом:
- разберете наиболее популярные паттерны: оркестрация и хореография;
- рассмотрите реализацию этих подходов, обсудите плюсы и минусы;
- ответите на все возникающие вопросы.

📢 Занятие пройдёт 14 марта в 20:00 мск и будет приурочено к старту курса «Python Developer. Professional». Доступна рассрочка на обучение!

➡️ Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись:  

Читать полностью…

Python/ django

Инвесторы смогут тестировать и запускать собственных торговых роботов на уникальных данных

MoexAlgo — Python-библиотека для упрощения работы с Алгопак API. Предоставляет данные и аналитику по рынку акций Московской биржи (MOEX). Можно получать:

• исторические данные для тестирования торговых стратегий, проверки гипотез и backtest;
• онлайн-данные для алгоритмической торговли.

Библиотека необходима для работы с демоверсией Алгопак — новым инструментом Московской биржи. Благодаря ему вы можете прокачать свои навыки работы через REST API и Python-клиент. Клиенты получают доступ к большому набору исторических и онлайн-данных по рынку акций MOEX и могут проводить backtest различных торговых стратегий, а также создавать и автоматизировать торговые алгоритмы.

▪️ MoexAlgo
▪️ Backtrader_moexalgo
▪️ Демоверсия Алгопак доступна всем зарегистрированным пользователям сайта ПАО Московская Биржа — тестируйте на сайте

@pythonl

Реклама. Рекламодатель ПАО Московская биржа. ОГРН (1027739387411)

Читать полностью…

Python/ django

🖥 Помнишь эти методы списков в Python?

Держи, вот полезная шпаргалка, чтобы освежить их

📎 А вот ещё годный сайт, где собраны самые используемые методы/функции Python

@pythonl

Читать полностью…

Python/ django

⁉️ Готов стать профи в разработке на Python?- или будешь довольствоваться средним уровнем?

Всего за 5 месяцев можно освоить широкий стек технологий на онлайн-курсе «Python Developer. Professional» и вырасти в доходе и должности. 

➡️  Пройди тест по Python и проверь свои знания.

Ответишь — пройдешь на продвинутый курс "Python Developer. Professional" от OTUS по специальной цене 

🔥 Выбери светлую сторону силы и приходи на курс.

Читать полностью…

Python/ django

🔤Вопрос: как работает распаковка (*) в Python?
Что происходит, скажем, в случае такого генераторного выражения?

gen = (num for num in range(10))
print(*gen)



🔜Всё проще, чем кажется.
*args и **kwargs — это способы передачи переменного количества аргументов в функцию. Другими словами, они "распаковывают" значения из массива/словаря/множества и т.п. и передают эти значения в функцию.

🔜Пример использования *args:
def test(a, b): # Принимаем параметры a и b
print(a + b) # Выводим их сложение

array = [1, 2] # Создаём массив из двух чисел

test(*array) # Вывод: 3

При записи *array значения для функции были преобразованы в test(1, 2)

🔜Пример использования **kwargs:
def test(a,b): # Принимаем параметры a и b
print(a + b) # Выводим их сложение

dct = {'a':1, 'b':2} # Создаём словарь и записываем ключ-значение
test(**dct) # Вывод: 3

При записи **dct значения для функции были преобразованы в test(a=1, b=2)

🔜Таким же образом можно преобразовать данные в обратном направлении:
def test1(*var): # Принимаем параметры в виде множества
print(var)

test1(1, 2, 3) # Вывод: (1, 2, 3)

def test2(**var): # Принимаем параметры в виде словаря
print(var)

test2(a=1, b=2) # Вывод: {'a': 1, 'b': 2}


Такие вот дела 🖥

@pythonl

Читать полностью…

Python/ django

🖥 Hotpdf: a fast PDF parsing library to extract text and find text within PDF

hot pdf - это библиотека быстрого анализа PDF-файлов для извлечения текста и поиска текста в PDF-документах, созданная поверх pdfminer.six

pip install hotpdf

Github

@pythonl

Читать полностью…

Python/ django

🌷 Happy Women's day!

Выводим поздравление с 8 марта.

@pythonl

Читать полностью…

Python/ django

💻 Уязвимость в библиотеке aiohttp уже привлекла внимание хакеров

🗄Исследователи предупреждают, что недавно исправленная уязвимость в Python-библиотеке aiohttp (CVE-2024-23334) уже взята на вооружение хакерами, включая вымогательские группировки, такие как ShadowSyndicate.

🗄aiohttp — это опенсорсная библиотека, построенная на основе I/O фреймворка Asyncio и предназначенная для обработки большого количества одновременных HTTP-запросов без традиционного потокового нетворкинга. aiohttp часто используется технологическими компаниями, веб-разработчиками, бэкенд-инженерами и специалистами по анализу данных для создания высокопроизводительных веб-приложений и сервисов, объединяющих данные из множества внешних API.

🗄В конце января 2024 года aiohttp обновилась до версии 3.9.2, в которой устранили уязвимость CVE-2024-23334. Это path traversal баг, затрагивающий все версии aiohttp (начиная с 3.9.1) и старше, который позволяет удаленным злоумышленникам без авторизации получить доступ к файлам на уязвимых серверах.

🗄Проблема связана с недостаточной проверкой при установке follow_symlinks в значение True для статичных маршрутов, что позволяет получить несанкционированный доступ к файлам за пределами статичного корневого каталога сервера.

🗄В конце февраля текущего года на GitHub появился PoC-эксплоит для CVE-2024-23334, а в начале марта на YouTube было опубликовано подробное видеоруководство по эксплуатации бага.

🗄Как теперь сообщают аналитики компании Cyble, их сканеры обнаруживают попытки эксплуатации CVE-2024-23334 начиная с 29 февраля, и атаки лишь усилились в марте. В основном попытки сканирования исходят с пяти IP-адресов, один из которых ранее был отмечен в отчете Group-IB и связан с вымогательской группировкой ShadowSyndicate.

@linuxkalii

Читать полностью…

Python/ django

Начните карьеру в ИТ с гранта на обучение до 100% в Центральном университете!

Грант можно получить на одно из направлений бакалавриата по искусственному интеллекту, разработке и бизнес-аналитике. Помимо диплома и практико-ориентированного образования студенты получат:
- Персонализацию учебной траектории;
- Стажировку в одной из лучших ИТ-компании страны;
- Личного ментора на все время обучения;
- Доступ к современному кампусу в центре Москвы.

Получить полную информацию и оставить заявку можно здесь.


erid:2VtzqxaVAGk
Реклама, АНО ВО «Центральный университет», ИНН 7743418023

Читать полностью…

Python/ django

Хочешь пройти путь от Джуна до Мидла, чтобы повысить зарплату и навыки?

Приходи на бесплатный Тестовый урок по Python вместе с опытным разработчиком.

За 40 минут на Тестовом уроке ты:
✓ Оценишь свои знания
✓ Напишешь код в формате лайв-кодинга
✓ Получишь подробную обратную связь
✓ Построишь индивидуальную программу обучения, исходя из твоих собственных пробелов
✓ Узнаешь, как наши ученики попадают на стажировку и обучаются до уровня “Мидл”. 

Запишись на Тестовый урок в боте после прохождения небольшого опроса, он займёт 1 минуту. 

Реклама. ООО "ДЕВМАН". ИНН 5001149108. erid: LjN8KA4Cg

Читать полностью…

Python/ django

Вариант для тех, кто ищет виртуальный сервер с хорошей веб-защитой — Aéza:

– Виртуальные сервера до 6.0 ГГц на лучших процессорах;
– Профессиональная фильтрация атак StormWall;
– Круглосуточная поддержка;
– Anycast фильтрация;
– Низкие цены;
– 15% кешбэка по ссылке.

Бесконечно можно смотреть на три вещи: на огонь, воду и скидку от Aeza!
Говорят: твоё от тебя не уйдет. А зачем ждать? Динозавры тоже ждали и остались в прошлом

Используй 50% скидку и погнали в будущее!

Кроме того, сейчас Aéza раздает личные бесплатные сервера, забираем тут. Регистрация, подписка, платежи не потребуются.

Реклама. Индивидуальный предприниматель Лобанов Леонид Константинович. ИНН 781625705648 erid: LjN8KEr3S

Читать полностью…

Python/ django

У Тинькофф открылась стипендиальная программа для студентов на 2024 год!

В отборе могут участвовать студенты бакалавриата, специалитета и магистратуры (кроме выпускного курса) из всех городов и ВУЗов.

Стипендия выдаётся на один учебный год и составляет 25 000 ₽ в месяц.
Кроме этого:
— доступ к лекциям;
— общение с менторами;
— отложенный оффер на стажировку или работу в Тинькофф.

Более подробная информация и форма подачи заявки 👉 по ссылке

Переходите и подавайте заявку на одну из крупнейших в стране частных стипендий для студентов!

erid:2Vtzquqk3Pi
Реклама. АО "Тинькофф Банк", ИНН 7710140679, лицензия ЦБ РФ № 2673

Читать полностью…

Python/ django

До 31 марта регистрируйтесь на конкурс прикладной разработки «If…else».

Рады сообщить о запуске регистрации на конкурс прикладной разработки «If…else» от GitVerse в рамках олимпиады «IT-Планета 2024»!

Если вам от 18 до 35 лет, вы пишете на C/C++/Java/Python, у вас есть опыт разработки прикладных решений и отличные знания по части алгоритмов, участвуйте и получайте возможность выиграть до 500 тыс. рублей!

Для участия необходимо до 31 марта зарегистрироваться и пройти отборочное тестирование на площадке для разработчиков GitVerse от СберТеха.

Конкурс состоит из трех этапов: отборочное тестирование, основной этап в виде решения прикладной задачи и очный финал.

Призовой фонд конкурса составляет 500 тыс. рублей*!

Подробные условия конкурсов и регистрация.

Следите за новостями и удачи в конкурсе!

*За вычетом НДФЛ

Читать полностью…

Python/ django

→ Одни плюсы в Практикуме

При покупке курса профессии вы получите доступ к дополнительному курсу, на котором можно освоить новый навык. Станьте IT-специалистом и добавьте в резюме строчку, на которую обратят внимание работодатели.

◾️«Python-разработчик плюс» или «Разработчик С++ расширенный»
➕дополнительный курс по углубленному SQL

Чтобы лучше работать с базами данных и писать более сложные запросы.

«Android-разработчик расширенный»
➕дополнительный курс по алгоритмам и структурам данных

Чтобы находить оптимальные решения в коде и отвечать на каверзные вопросы на собеседованиях.

«Аналитик данных плюс»
➕дополнительный курс по визуализации и BI-инструментам

Чтобы красиво и понятно представлять данные в Data Wrapper, Data-Lens и Tableu.

«Бизнес-аналитик продвинутый»
➕дополнительный курс по Excel для работы

Чтобы искать, сортировать и отбирать данные без труда и создавать эффектные таблицы и отчёты.

→ Получите ещё больше навыков — а значит, больше карьерных возможностей.

Читать полностью…

Python/ django

Как правильно подставлять значения из переменных / списков / словарей в SQL запрос в Python?

Лучше всего использовать SQL запросы с использованием параметров:

cursor.execute("SELECT * FROM my_table WHERE id = ?", [123])
# parameter placeholder ------------------------> ^
# список/кортеж со значениями параметров -----------> ^^^^^


Какие преимущества приносит использование параметров?
Защита от SQL-инъекций

Правильное квотирование литералов в зависимости от их типа (пример со строками, пример с датами).

Оптимизация — сокращение времени работы SQL запроса. Благодаря использованию параметров следующие шаги не выполняются при повторном запуске (зависит от БД):
— проверка синтаксиса SQL запроса
— проверка прав доступа к объектам БД
— построение плана выполнения SQL запроса

Защита от переполнения/вытеснения кеша SQL запросов. Например "безобидный" запрос qry = f"SELECT first_name, last_name FROM users WHERE id = {user_id}", который часто выполняется в нагруженной системе с различными значениями user_id может вытеснить из кеша запросов полезные запросы.

Пример использования параметров в SQL запросе:
import sqlite3

con = sqlite3.connect(":memory:")
cur = con.cursor()
cur.execute("create table lang (name, first_appeared)")

cur.execute("insert into lang values (?, ?)", ("C", 1972))

lang_list = [
("Fortran", 1957),
("Python", 1991),
("Go", 2009),
]
cur.executemany("insert into lang values (?, ?)", lang_list)

cur.execute("select * from lang where first_appeared=:year", {"year": 1972})
print(cur.fetchall())

con.close()

При таком подходе можно использовать cursor.executemany() - это значительно быстрее и эффективнее по сравнению с вставкой в цикле по одной строке.

📎 Читать подробнее

@pythonl

Читать полностью…

Python/ django

🖥 Flect is a Python framework for building full-stack web applications.

Flect — это фреймворк Python для создания полнофункциональных веб-приложений.

Он позволяет легко создавать пользовательские интерфейсы, используя модели Pydantic, которые аналогичны свойствам компонентов React.

Эта интеграция позволяет быстро разрабатывать интерактивные и красивые пользовательские интерфейсы с использованием Python.

Github
Docs

@pythonl

Читать полностью…

Python/ django

🖥 Полезный приём при работе с исключениями в Python

def divide(x=1, y=0):
try:
return x / y
except ZeroDivisionError:
raise ValueError("Pattern 3 error.") from None

divide()

Здесь при вызове функции divide() она вызывается с параметрами по умолчанию, то есть x=1, y=0, в общем происходит деление на 0, и мы попадаем в ветку except ZeroDivisionError.

Если бы мы не написали from None, в поднявшемся исключении встречалась бы ошибка ZeroDivisionError.
В данном случае трассировка не будет включать исходную ошибку ZeroDivisionError, а только исключение ValueError и сообщение об ошибке — всё из-за from None.

В общем, используйте from None, когда вы хотите скрыть от пользователя детали исходного исключения или внутреннее исключение используемой библиотеки.

Вот такие дела

@pythonl

Читать полностью…

Python/ django

🖥 Python: когда использовать array вместо list?

Если в двух словах, то для хранения элементов разных типов, предпочтительнее использовать list, а для быстрых операций с числовыми данными и эффективного расходования памяти – array из модуля array.


Список в Python – это универсальный инструмент, способный хранить элементы разных типов и эффективно управлять памятью, что особенно ценно при изменении размера списка.

Используйте списки, когда:
— Вам необходимо хранить элементы разного типа.
— Предполагается изменение объема данных.
— Важны удобство и простота поддержки кода.


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

Выбирайте массивы, когда:
— Вы работаете исключительно с числами одного типа.
— Обрабатываете большие объемы данных и важна экономия памяти.
— Нужна тесная интеграция с C-кодом.

@pythonl

Читать полностью…

Python/ django

🖥 Language Detection using Python

Определение языка с помощью Python.

@pythonl

Читать полностью…

Python/ django

🚀 GPM AdTech Challenge 
от «Газпром-Медиа» и Getintent
Когда: 18-30 марта
Формат: гибридный
Призовой фонд: 1 000 000 рублей
Ты можешь стать победителем независимо от своего технического бэкграунда. Выбирай один из трех треков, создавай прототип и выигрывай 1 000 000 рублей.
Регистрация до 13 марта: https://cnrlink.com/gpmpython

🎙 Frontend Мeetup от Росбанка
Когда: 22 марта
Формат: очный, Казань
Вас ждут доклады специалистов Росбанка, СберМаркета и VK Добра. 
Авторы лучших вопросов получат мерч. 
Регистрация до 18 марта: https://cnrlink.com/rbkazanpython

💢 «Халява, приди!»‎ от Codenrock
Когда: весь март
Формат: онлайн
Реши несложные, но увлекательные задачи по программированию и получи возможность стать обладателем промокода на любой маркетплейс. Это ли не халява?
Регистрация до 20 марта: https://cnrlink.com/halyavapython

Реклама. ООО "ЦУКЕР СТУДИЯ". ИНН 7751071015. erid: LjN8JyexX

Читать полностью…

Python/ django

🔥Подборка лучших обучающих каналов для программистов.

➡️ Делитесь с коллегами и cохраняйте себе, чтобы не потерять

🚀 Data Science

Анализ данных - полезные фишки, код, гайды и советы, маст-хэв датасаентиста
Data Jobs - ds вакансии
Аналитик данных
Data Science книги - актуальные бесплатные книги
Big data

#️⃣C#

С# академия
С# заметки — код, лучшие практики, заметки программиста c#
С# задачи и тесты
С# библиотека - актуальные бесплатные книги
C# вакансии - работа

⚡Машинное обучение

Ml Собеседование - подготовка к собеседовению мл, алгоритмам, кодингу
Ml ru - актуальные статьи, новости, код и обучающие материалы
Ml Jobs - вакансии ML
ML Книги - актуальные бесплатные книги МО
ML чат
Machine Learning - полезные статьи новости гайды и разбор кода


⚡️ Frontend
Javascript академия - крупнейший js канал
React - лучшие гайды и советы по работе с react
Frontend - тутрориалы, уроки, гайды, код
PHP
Книги frontend
Задачи frontend

🏆 Golang
Golang - подробные гайды, разбор кода, лучшие практики, заметки
Golang собеседование
Golang вакансии
Golang книги
Golang задачи и тесты
Golang чат
Golang news - новости go



🐍 Python

Python/django
Python Собеседование - подготовка к собеседовению python и разбор алгоритмов
Pro python - статьи, новости, код и обучающие материалы
Python Jobs - вакансии Python
Python чат
Python книги

☕ Java

Java академия
Java вакансии
Java чат
Java вопросы с собеседований
Java книги

🛢Базы данных
Sql базы данных
Библиотека баз данных
SQL чат

💻 C++

C++ академия
С++ книги
C++ задачи - подготовка к собеседовению мл, алгоритмам
C++ вакансии

💥 Хакинг Kali Linux

Kali linux
linux_kal - kali чат
Информационная безопасность

🐧 Linux

Linux academy

🦀 Rust
Rust программирование
Rust чат
Rust книги для программистов

📲 Мобильная разработка
Android разработка
Мобильный разработчик гайды и уроки

🇬🇧 Английский для программистов

🧠 Искусственный интеллект
ИИ и технологии
Neural - нейросети для работы и жизни
Книги ИИ
Artificial Intelligence

🔥 DevOPs
Devops для программистов
Книги Devops

🌟 Docker/Kubernets
Docker
Kubernets

📓 Книги
Библиотеки Книг для программситов

💼 Папка с вакансиями:
Папка Go разработчика:
Папка Python разработчика:
Папка Data Science
Папка Java разработчика
Папка C#
Папка Frontend

Читать полностью…

Python/ django

🖥 Получение мостов tor из GMail с помощью Python

Учите Python, он везде)
1 шаг — установка внешних библиотек
pip install python-decouple opencv-python pyzbar IMAPClient
decouple — для чтения данных из файла
opencv — для чтения изображения с QR-кодом
pyzbar — чтобы прочитать данные, закодированные в QR-коде
IMAPClient — с помощью неё будем работать с сообщениями на почтовом сервере

Так как мы будем использовать пароль приложений, а также логин от аккаунта Google, то в коде его желательно не использовать. Поэтому, необходимо создать файл «.env» с примерным содержимым:

login = "test@gmail.com"
pwd = "gffg sbbp jccj vhhi"


2 шаг — импорт библиотек

3 шаг — считывание данных из QR-кода

4 шаг — отправка письма

5 шаг — чтение почты

▶️ Полностью о каждом шаге можно прочитать тут

@pythonl

Читать полностью…
Subscribe to a channel