Код для получения реверсивного видео на Python
Для ревёрса видео в коде используется библиотека
➡️ Установка библиотек:
➡️ Справочник Программиста. Подписаться
Для ревёрса видео в коде используется библиотека
cv2
.pip install opencv-python
import cv2
def reverse_frames(video_path, output_path):
# Открываем видеофайл
cap = cv2.VideoCapture(video_path)
# Получаем количество кадров в секунду видео
fps = cap.get(cv2.CAP_PROP_FPS)
# Получаем ширину и высоту каждого кадра
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
# Получаем общее количество кадров в видео
total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
# Определяем кодек для выходного видео
fourcc = cv2.VideoWriter_fourcc(*"mp4v")
# Создаем объект VideoWriter для записи обратных кадров в новый видеофайл
out = cv2.VideoWriter(output_path, fourcc, fps, (frame_width, frame_height))
# Проходимся по кадрам в обратном порядке
for frame_no in reversed(range(total_frames)):
# Устанавливаем позицию захвата видео на текущий кадр
cap.set(cv2.CAP_PROP_POS_FRAMES, frame_no)
# Читаем кадр
ret, frame = cap.read()
# Если кадр не может быть прочитан, выходим из цикла
if not ret:
break
# Записываем кадр в выходной видеофайл
out.write(frame)
# Освобождаем объект захвата видео
cap.release()
# Освобождаем объект записи видео
out.release()
video_path = "video.mp4"
output_path = "output.mp4"
reverse_frames(video_path, output_path)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤🔥4🔥4😎1
Библиотека retrying в Python 🔄
Библиотека
Она позволяет упростить задачу добавления поведения повторных попыток к практически любому коду.
Основной сценарий использования
Особенности библиотеки:
🔵 Общий API декоратора;
🔵 Указание условия остановки (например, ограничение по количеству попыток);
🔵 Указание условия ожидания (например, экспоненциальная задержка между попытками);
🔵 Настраиваемые повторы при возникновении исключений;
🔵 Настраиваемые повторы при ожидаемых возвращаемых результатах.
➡️ Установка библиотеки:
🖥 Репозиторий
➡️ Справочник Программиста. Подписаться
Библиотека
retrying
предназначена для повторных попыток выполнения кода с заданными условиями повтора.Она позволяет упростить задачу добавления поведения повторных попыток к практически любому коду.
Основной сценарий использования
retrying
заключается в повторном выполнении функции, если возникает исключение, пока не будет получено значение. Например, можно использовать retrying
для повторной попытки выполнения функции, которая может быть ненадежной, пока не будет получен корректный результат.Особенности библиотеки:
pip install retrying
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤🔥2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Фреймворк Sanic в Python
Фреймворк
Особенности фреймворка:
🔵 Асинхронность: использует асинхронную модель программирования, основанную на синтаксисе async/await в Python 3.5 и выше
🔵 Высокая производительность: благодаря использованию асинхронности и оптимизациям,
🔵 Поддержка множества протоколов: поддерживает протоколы HTTP и WebSocket, что позволяет разрабатывать как веб-приложения, так и приложения в реальном времени.
🔵 Интеграция с базами данных: имеет поддержку различных баз данных, включая PostgreSQL, MySQL и SQLite, через библиотеку SQLAlchemy Core.
🔵 Удобная настройка окружения: с помощью пакетов
🔵 Простота использования: предлагает простой и интуитивно понятный синтаксис для создания веб-приложений. Он также имеет хорошую документацию и активное сообщество разработчиков.
➡️ Установка библиотеки:
🖥 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Фреймворк
Sanic
предназначен для разработки веб-приложений. Предоставляет асинхронную обработку запросов и отличается высокой производительностью.Особенности фреймворка:
Sanic
обладает высокой скоростью обработки запросов.sanic-envconfig
и environs
можно легко настроить окружение вашего приложения, включая безопасность, настройки базы данных и другие параметры.pip install sanic
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥10👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Код для генерации цитат 🗯
Для получения случайных цитат в коде используется библиотеку
➡️ Установка библиотек:
➡️ Справочник Программиста. Подписаться
Для получения случайных цитат в коде используется библиотеку
requests
, а для их перевода на русский язык - googletrans
.pip install requests
googletrans==3.1.0a0
import requests
from googletrans import Translator
# Функция для генерации случайной цитаты
def generate_quote():
# Отправляем GET-запрос к API ZenQuotes для получения случайной цитаты
response = requests.get("https://zenquotes.io/api/random")
# Проверяем, был ли запрос успешным (код статуса 200)
if response.status_code == 200:
# Извлекаем цитату и автора из JSON-ответа
data = response.json()
quote = data[0]['q']
author = data[0]['a']
# Создаем объект Translator
translator = Translator()
# Переводим автора и цитату на русский язык
author = translator.translate(author, dest='ru').text
quote = translator.translate(quote, dest='ru').text
# Возвращаем переведенную цитату с автором
return f'{author} - {quote}'
else:
# Возвращаем сообщение об ошибке, если запрос не был успешным
return "Ошибка при получении цитаты. Пожалуйста, попробуйте еще раз позже."
# Вызываем функцию generate_quote и выводим переведенную цитату
print(generate_quote())
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍4❤🔥3
5 полезных скриптов на Python
В данной статье рассмотрим 5 полезных скриптов на Python.
➡️ Справочник Программиста. Подписаться
В данной статье рассмотрим 5 полезных скриптов на Python.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4👍2
Библиотека Dateparser в Python
Библиотека
Может определять различные форматы даты и времени в строке и преобразовывать их в стандартный формат Python.
Некоторые особенности библиотеки:
🔵 Обобщенный разбор дат на более чем 200 языковых локалей и множество форматов в языково-независимом стиле.
🔵 Разбор относительных дат, таких как "1 минуту назад", "2 недели назад", "3 месяца, 1 неделя и 1 день назад", "через 2 дня", "завтра".
🔵 Разбор дат с указанием часовых поясов или смещений относительно UTC, например "14 августа 2015 г. EST", "4 июля 2013 г. PST", "21 июля 2013 г. 22:15 +0500".
🔵 Поиск дат в длинных текстах.
🔵 Поддержка календарных систем, отличных от григорианского календаря.
➡️ Установка библиотеки:
🖥 Репозиторий
➡️ Справочник Программиста. Подписаться
Библиотека
Dateparser
предназначена для преобразования строки в объект datetime
без необходимости явно указывать формат даты.Может определять различные форматы даты и времени в строке и преобразовывать их в стандартный формат Python.
Некоторые особенности библиотеки:
pip install dateparser
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6👍4🔥2😎1
Библиотека PyInstaller в Python
Библиотека
Основные особенности библиотеки:
🔵 Создание одного исполняемого файла, который содержит все необходимые зависимости.
🔵 Поддержка скрытых импортов, чтобы включить в сборку модули, которые не обнаруживаются автоматически.
🔵 Возможность создания спецификационных файлов для настройки процесса сборки.
🔵 Поддержка различных платформ, включая Windows, Linux, Mac OS X, FreeBSD, Solaris и AIX.
🔵 Установка с помощью pip.
➡️ Установка библиотеки:
🖥 Репозиторий
📝 Также года 2 назад я писал статью "Конвертация Python в исполняемый exe файл", где использовалась данная библиотека.
➡️ Справочник Программиста. Подписаться
Библиотека
PyInstaller
позволяет упаковывать Python-программы в исполняемые (exe) файлы для различных операционных систем, включая Windows, Linux и Mac OS X.Основные особенности библиотеки:
pip install pyinstaller
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥8👍8🔥5😎1
Функция map() в Python
В данной статье рассмотрим, как работает функция
➡️ Справочник Программиста. Подписаться
В данной статье рассмотрим, как работает функция
map()
в Python.Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤🔥1
Библиотека TinyDB в Python
Библиотека
Она позволяет выполнять операции CRUD (создание, чтение, обновление и удаление) и является удобным инструментом для хранения и управления данными в небольших проектах.
➡️ Установка библиотеки:
🖥 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Библиотека
TinyDB
представляет собой простую и легковесную базу данных NoSQL, которая использует JSON для хранения данных.Она позволяет выполнять операции CRUD (создание, чтение, обновление и удаление) и является удобным инструментом для хранения и управления данными в небольших проектах.
pip install tinydb
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤🔥4
В ходе данной статьи напишем код приложения «Таймер» с графическим интерфейсом на Python.
Таймер будет отображать количество оставшихся секунд и воспроизводить звуковой сигнал по истечении указанного времени.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥9👍3
В данном shorts напишем простой код для преобразования текста в речь на Python.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤🔥3
Справочник Программиста
Код для преобразования текста в речь на Python
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
pip install gTTS
from gtts import gTTS
# Текст, который нужно преобразовать в речь
text = input('Введите текст: ')
# Создаем объект класса gTTS
tts = gTTS(text=text, lang='ru')
# Сохраняем аудиофайл в текущей директории
tts.save("audio.mp3")
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥12🔥5👍1😎1
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека InterpretML в Python
Библиотека
Она помогает проводить визуальный анализ работы моделей, а также понимать факторы, влияющие на их прогнозы.
Основные возможности библиотеки InterpretML:
🔵 Локальная интерпретация моделей: предоставляет инструменты для проведения локальной интерпретации моделей машинного обучения. Это позволяет понять, какие признаки были важны для конкретного прогноза модели.
🔵 Глобальная интерпретация моделей: предоставляет возможность проводить глобальную интерпретацию моделей, сравнивая их прогнозы и исследуя важность каждого признака для всех прогнозов.
🔵 Визуализация: предоставляет множество инструментов для визуализации результатов машинного обучения. Это позволяет легче понять причины, лежащие в основе прогнозов моделей.
🔵 Поддержка различных типов моделей: может работать с различными типами моделей машинного обучения, включая линейную регрессию, случайные леса, градиентный бустинг, нейронные сети и другие.
🔵 Расширяемость: предоставляет API для создания пользовательских интерпретаций и объяснений моделей машинного обучения. Это позволяет создавать собственные алгоритмы интерпретации, адаптированные под специфические потребности и задачи.
➡️ Установка библиотеки:
🖥 Репозиторий
➡️ Справочник Программиста. Подписаться
Библиотека
InterpretML
предоставляет набор инструментов для визуализации, трактовки и объяснения работы моделей машинного обучения.Она помогает проводить визуальный анализ работы моделей, а также понимать факторы, влияющие на их прогнозы.
Основные возможности библиотеки InterpretML:
pip install interpret
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥5❤🔥3
Код для добавления водяных знаков в PDF-файл на Python
Для работы с PDF-файлами в коде используется библиотека
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
Для работы с PDF-файлами в коде используется библиотека
pypdf
.pip install pypdf
from pypdf import PdfWriter, PdfReader
def add_watermark(input_pdf, output_pdf, watermark):
# Считываем файл с водяным знаком
watermark_obj = PdfReader(watermark)
watermark_page = watermark_obj.pages[0]
# Считываем входной файл PDF
pdf_reader = PdfReader(input_pdf)
pdf_writer = PdfWriter()
# Добавляем водяной знак на каждой странице
for page in pdf_reader.pages:
page.merge_page(watermark_page)
pdf_writer.add_page(page)
# Сохраняем итоговый PDF-файл
with open(output_pdf, 'wb') as out:
pdf_writer.write(out)
# Вызываем функцию add_watermark
add_watermark('document.pdf', 'output.pdf', 'watermark.pdf')
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍4❤🔥2
Функция any() в Python
В данной статье рассмотрим, как работает функция
➡️ Справочник Программиста. Подписаться
В данной статье рассмотрим, как работает функция
any()
в Python.Please open Telegram to view this post
VIEW IN TELEGRAM
👍9😎4❤🔥3🔥1
Библиотека Pydantic в Python
Библиотека
Она широко используется в различных областях, включая Data Science. Помогает обеспечить строгую валидацию данных, что является критически важным в области Data Science.
Основные особенности библиотеки:
🔵 Поддержка аннотаций типов Python (PEP 484) для определения схемы данных.
🔵 Поддержка асинхронности.
🔵 Позволяет легко преобразовывать данные в различные форматы, такие как JSON или YAML, и обратно.
🔵 Возможность автоматической генерации документации OpenAPI и Swagger на основе определенных моделей данных.
🔵 Интеграция с различными фреймворками, такими как FastAPI, Django Rest Framework, SQLAlchemy и другими.
🔵 Поддержка валидации данных и автоматического преобразования типов.
🔵 Возможность определения пользовательских валидаторов и преобразователей данных.
➡️ Установка библиотеки:
🖥 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Библиотека
Pydantic
используется для валидации и настройки данных. Она основана на аннотациях типов Python и проверяет корректность данных во время выполнения программы.Она широко используется в различных областях, включая Data Science. Помогает обеспечить строгую валидацию данных, что является критически важным в области Data Science.
Основные особенности библиотеки:
pip install -U pydantic
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍7❤🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Код для удаления метаданных изображения на Python
Для удаления метаданных изображения в коде используется библиотека
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
Для удаления метаданных изображения в коде используется библиотека
Pillow
.pip install Pillow
from PIL import Image
# Функция для удаления метаданных из указанного изображения.
def clear_all_metadata(img_name):
# Открываем файл изображения.
img = Image.open(img_name)
# Читаем данные изображения, исключая метаданные.
data = list(img.getdata())
# Создаем новое изображение с тем же режимом и размером, но без метаданных.
img_without_metadata = Image.new(img.mode, img.size)
img_without_metadata.putdata(data)
# Сохраняем новое изображение поверх исходного файла, удаляя метаданные.
img_without_metadata.save(img_name)
print(f"Метаданные успешно удалены из '{img_name}'.")
clear_all_metadata("image.jpg")
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤🔥2👍2😎2