Всё очень просто, если использовать библиотеку
autosub. Это удобный инструмент для автоматической генерации субтитров из аудио или видеофайлов.pip install git+https://github.com/agermanidis/autosub.git
autosub your_video.mp4
1.
autosub использует SpeechRecognition и Google API для распознавания речи.2. Автоматически извлекает аудиодорожку и переводит её в текст.
3. Создаёт
.srt файл с временными метками для субтитров.Please open Telegram to view this post
VIEW IN TELEGRAM
⚡16🔥3❤2👍2❤🔥1
validators — лёгкая и удобная библиотека для валидации данных в Python. Позволяет быстро проверять корректность email-адресов, URL, IP-адресов и других данных без написания регулярных выражений вручную.import validators
url = "https://python.org"
if validators.url(url):
print("Корректный URL")
else:
print("Некорректный URL")
pip install validators
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21👍4
Разбираемся, чем байесовский А/Б тест отличается от частотного, в чем подвох p-value, как учитывать априорную инфу и останавливать тесты раньше времени без магии и боли.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝3👍1
Позволяет писать свои контекстные менеджеры без классов и магических методов
__enter__ и __exit__. Полезно для управления ресурсами и автоматического закрытия файлов, соединений и т.п.from contextlib import contextmanager
@contextmanager
def open_file(path):
f = open(path, 'r')
try:
yield f
finally:
f.close()
with open_file("example.txt") as f:
print(f.read())
@contextmanager превращает функцию в контекстный менеджер.yield — выполняется при входе.yield — при выходе из контекста.Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🔥1👏1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣45👍7❤2💯2
humanize — удобная библиотека для преобразования чисел, дат и размеров файлов в человеко-понятный вид. Особенно полезна для вывода информации пользователю.
import humanize
import datetime
print(humanize.intcomma(1234567)) # 1,234,567
size = 1536000
print(humanize.naturalsize(size)) # 1.5 MB
dt = datetime.datetime.now() - datetime.timedelta(hours=3)
print(humanize.naturaltime(dt)) # 3 hours ago
pip install humanize
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥7
В статье я разбираю задачу с разминки Яндекс.Алгоритмы 2023, где надо найти максимальный квадрат из морковок. Показываю, как долго тупил, а потом внезапно прозрел благодаря префиксным суммам.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2❤1
На платформе вы решаете задачи, но в формате приключенческой игры: открываете новые острова, проходите уровни и улучшаете код. Подходит для начинающих и опытных разработчиков.
Примечательно, что задачи оформлены в виде миссий с визуальной подачей, а своё решение можно сравнить с другими и выбрать самое "питоничное".
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍1
dataclasses.asdict — быстрое преобразование объекта в словарьПозволяет легко сериализовать объект
dataclass в обычный словарь. Полезно для логирования, отправки данных в API и работы с JSON.from dataclasses import dataclass, asdict
@dataclass
class User:
name: str
age: int
user = User("Алиса", 30)
print(asdict(user)) # {'name': 'Алиса', 'age': 30}
asdict() рекурсивно преобразует dataclass в словарь.Please open Telegram to view this post
VIEW IN TELEGRAM
❤16❤🔥1👍1👏1
Разбираю, как писать масштабируемые UI автотесты на Python с PageObject-паттернами, подключить их к CI/CD и получать вменяемые Allure-отчёты. Всё на примере готового проекта.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
Всё очень просто, если использовать библиотеку moviepy. Это удобный инструмент для обработки видеофайлов, в том числе для получения аудиодорожки.
pip install moviepy
from moviepy.editor import VideoFileClip
video = VideoFileClip("your_video.mp4")
video.audio.write_audiofile("audio.wav")
1.
VideoFileClip открывает видеофайл.2.
.audio получает встроенную аудиодорожку.3.
write_audiofile() сохраняет её в виде отдельного аудиофайла.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤🔥2👍1
inflect — удобная библиотека для работы с грамматическими формами в английском языке. Позволяет склонять слова, преобразовывать числа в текст и формировать человеко-понятные фразы.
import inflect
p = inflect.engine()
print(p.number_to_words(42)) # forty-two
print(p.plural("cat", 3)) # cats
print(p.join(["apples", "oranges", "pears"])) # apples, oranges and pears
pip install inflect
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤3
Расскажу, как на Python чистить данные перед анализом: найдем ошибки, аномалии, пустоты с помощью pandas и pyspark. Полезно всем, кто не хочет строить выводы на мусоре.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍5
На платформе обучение происходит в формате ролевой игры: вы пишете код на Python, чтобы управлять персонажем, проходить уровни и решать головоломки. Отлично подходит для новичков и школьников.
Примечательно, что каждый шаг требует написания реального кода, а не выбора ответов, благодаря чему обучение происходит естественно и интересно.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍6
collections.namedtuple — удобные неизменяемые структуры данныхПозволяет создавать лёгкие и читаемые контейнеры с доступом к полям по имени, как у объектов, но с производительностью кортежей.
from collections import namedtuple
Point = namedtuple("Point", ["x", "y"])
p = Point(3, 5)
print(p.x, p.y) # 3 5
print(p) # Point(x=3, y=5)
namedtuple() создаёт класс с фиксированными полями.Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍2🥰2👏1
В статье рассказывают, что такое VRP-задачи в доставке, чем они отличаются друг от друга, какие готовые решения уже можно пробовать и на что точно не стоит тратить время.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍6🥰2