Python Academy
48.4K subscribers
1.15K photos
3 videos
393 links
Python Academy — один канал вместо тысячи учебников

Чат канала: @python_academy_chat

Сотрудничество: @zubar89

Канал включён в перечень РКН: https://rkn.link/TVu
加入频道
Хеширование в Python используя hashlib

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

Пример кода:
import hashlib

# Пример хеширования строки с использованием SHA-256
data_to_hash = "Hello, World!"
hashed_data = hashlib.sha256(data_to_hash.encode()).hexdigest()

print(f"Исходные данные: {data_to_hash}")
print(f"Хеш-сумма (SHA-256): {hashed_data}")
В этом примере мы используем алгоритм SHA-256 из библиотеки hashlib для создания хеш-суммы строки "Hello, World!". Результат выводится в шестнадцатеричном формате.

Библиотека hashlib является одним из лучших инструментов для обеспечения безопасности данных в Python. Путем использования различных алгоритмов хеширования, таких как MD5, SHA-256 и других, вы можете обеспечить целостность данных и повысить уровень безопасности ваших приложений.

#python #hashlib
Форматируем строку для URL-адреса

Для начала стоит вспомнить, что слаг (slug) — это уникальная строка-идентификатор, понятная человеку и содержащая только "безопасные" символы: латинские символы в нижнем регистре, цифры и дефис.

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

Выше в коде мы написали простую функцию, где использовали методы lower() для приведения в нижний регистр и strip() для удаления пробелов слева и справа.

Также для удаления некоторых символов и замены на знак дефиса были использованы регулярные выражения и встроенный пакет re для работы с ними.

#python #re
2
Работа с данными в Python используя Pydantic

Pydantic - это библиотека для Python, предназначенная для парсинга и валидации данных. Она использует статическую типизацию для атрибутов классов, что облегчает проверку данных при создании объектов.

Этот инструмент особенно полезен при работе с JSON: он автоматизирует проверку структуры, необходимых полей и значений.

Pydantic поддерживает не только стандартные типы данных, но и специализированные, такие как email, URL-адреса и номера платежных карт.

Для более подробного примера и документации можно обратиться сюда.

#python #pydantic
2👍1
Отправка электронных писем через SMTP в Python

SMTP (Simple Mail Transfer Protocol) - это протокол, позволяющий отправлять электронные письма. В стандартной библиотеке Python доступен пакет smtplib, который реализует функциональность SMTP.

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

Авторизация на сервере осуществляется с использованием метода login, в который передаются логин и пароль пользователя.

Для отправки электронных писем используется метод sendmail, который принимает адрес отправителя, адрес получателя и текст сообщения. Важно отметить, что в конце написаного кода следует закрыть соединение с сервером с помощью метода quit().

Однако стоит учесть, что некоторые почтовые сервисы могут иметь ограничения и требования к безопасности. Например, для работы с Gmail может потребоваться включить поддержку "доступа к ненадежным приложениям" и настроить двухфакторную аутентификацию.

Пример использования smtplib для отправки электронного письма:
import smtplib

smtp_server = "smtp.example.com"
smtp_port = 465 # SSL-порт
smtp_username = "your_username"
smtp_password = "your_password"

server = smtplib.SMTP_SSL(smtp_server, smtp_port)

server.login(smtp_username, smtp_password)

from_email = "[email protected]"
to_email = "[email protected]"
subject = "Тема письма"
message = "Текст письма"

server.sendmail(from_email, to_email, f"Subject: {subject}\n\n{message}")

server.quit()


#python #smtp #smtplib
2
Делаем простой интерфейс используя tkinter

tkinter - это стандартная библиотека для создания графического пользовательского интерфейса (GUI) в Python. Она предоставляет простой и удобный способ создания оконных приложений с использованием виджетов, таких как кнопки, текстовые поля, списки и многое другое.

Хотя tkinter может показаться менее мощным по сравнению с некоторыми другими библиотеками GUI для Python, такими как PyQt или wxPython, она остается популярным выбором для начинающих разработчиков и для создания простых и удобных в использовании GUI-приложений.

#python #tkinter
8👍1
Преобразование текста в аудио на Python

Используя библиотеку gTTS (Google Text-to-Speech) для Python, можно легко преобразовывать текст в аудиофайлы. Эта библиотека использует API Google Translate для синтеза речи, обеспечивая высокое качество преобразования. Установка библиотеки производится стандартным способом через pip.

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

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

#python #gtts
1
Создание и использование виртуальной среды

virtualenv — инструмент для создания изолированных сред Python. Программа создает папку, которая содержит все необходимые исполняемые файлы для использования пакетов, необходимых для проекта.

Создание новой виртуальной среды требуется только один раз для каждого проекта, для которого вы хотите изолировать зависимости:
python3 -m venv venv

Это создаст папку venv, содержащую оснастку сценариев и копию python самого двоичного файла. Название папки не имеет значения.

Чтобы активировать виртуальную среду, нужно запустить activate файл: source venv/bin/activate и далее мы можем свободно устанавливать любые зависимости, которые никак не скажутся на работе в будущих проектах.

#python #virtualenv
Автоматизация мобильных приложений с помощью uiautomator2

Сегодня мы поговорим о библиотеке uiautomator2, которая предоставляет мощные инструменты для автоматизации тестирования и взаимодействия с мобильными приложениями на платформе Android.

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

Что такое uiautomator2?

uiautomator2 - это Python-библиотека, предоставляющая возможность управления устройствами Android и взаимодействия с приложениями на них. Она основана на Google's Android Testing Support Library и является мощным инструментом для автоматизации действий на устройствах Android.

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

#python #uiautomator2 #автоматизация
3
Скачиваем видео с YouTube

Пакет pytube предоставляет всю небходимую функциональность для скачивания видео с YouTube, а также для сбора всей информации о нем.

Для работы нам необходимо создать объект класса YouTube. Помимо ссылки на видео в конструктор можно передать в качестве параметров функции для обработки прогресса загрузки и завершения.

Большинство видео на ютубе не имеют аудиодорожки на потоках с высоким разрешением, свыше 720p — это связано с технологией передачи DASH, которую использует YouTube.

На картинке мы показали как отфильтровать потоки с прогрессивной передачей и выбрать из полученного списка с максимальным доступным разрешением до 720p.

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

#python #youtube
👎6👍32