Справочник Программиста
رفتن به کانال در Telegram
По рекламе - @it_start_programmer Мои курсы - @courses_from_it_start_bot Сайт - https://it-start.online/ YouTube - https://www.youtube.com/@it_start Реклама на бирже - https://telega.in/c/programmersGuide_1 Предложить идею: @it_start_suggestion_bot
نمایش بیشتر5 854
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-227 روز
-5830 روز
آرشیو پست ها
Код для добавления текстового водяного знака на видео на Python
Для работы с видео в коде используется библиотека
moviepy, а для работы с изображением текста - Pillow и numpy.
➡️Установка библиотек: pip install moviepy Pillow numpy
from moviepy.editor import VideoFileClip, CompositeVideoClip, ImageClip
from PIL import Image, ImageDraw, ImageFont
import numpy as np
def add_watermark(input_video, output_video, watermark_text, font_size=24, position=("right", "bottom"), opacity=128):
# Загружаем видео
video = VideoFileClip(input_video)
# Создаём изображение с текстом водяного знака
font_path = "arial.ttf" # Указываем путь к файлу шрифта
font = ImageFont.truetype(font_path, font_size)
# Получаем размеры текста
text_bbox = font.getbbox(watermark_text)
text_width, text_height = text_bbox[2], text_bbox[3]
# Создаём прозрачное изображение для водяного знака
watermark_image = Image.new("RGBA", (text_width, text_height), (0, 0, 0, 0))
draw = ImageDraw.Draw(watermark_image)
draw.text((0, 0), watermark_text, font=font, fill=(255, 255, 255, opacity))
# Преобразуем Pillow-изображение в NumPy-массив
watermark_array = np.array(watermark_image)
# Конвертируем NumPy-массив в ImageClip
watermark_clip = ImageClip(watermark_array).set_duration(video.duration)
# Определяем позицию водяного знака
if position == ("right", "bottom"):
position = (video.size[0] - text_width - 10, video.size[1] - text_height - 10)
elif position == ("left", "top"):
position = (10, 10)
elif position == ("right", "top"):
position = (video.size[0] - text_width - 10, 10)
elif position == ("left", "bottom"):
position = (10, video.size[1] - text_height - 10)
watermark_clip = watermark_clip.set_position(position)
# Создаем итоговое видео
final_video = CompositeVideoClip([video, watermark_clip])
final_video.write_videofile(output_video, codec="libx264", audio_codec="aac")
# Пример использования
add_watermark(
input_video="input.mp4",
output_video="output_with_watermark.mp4",
watermark_text="My Watermark",
font_size=36,
position=("right", "bottom"),
opacity=200
)
➡️Справочник Программиста. Подписатьсяpsudohash — это инструмент для создания хэшей на основе "криптографически псевдослучайных данных".
Предназначена для генерации идентификаторов, ключей или других элементов, которые требуют уникальности и не нуждаются в обратном преобразовании.
Основные возможности:
❄️Генерация хэшей: создаёт хэши с использованием алгоритмов, подходящих для задач, не требующих высокой криптографической устойчивости.
❄️Настраиваемая длина: возможность задавать длину выходного хэша.
❄️Простота использования: рассчитан на минимальную настройку, позволяя быстро интегрировать его в проекты.
📱 Репозиторий
📹 Видео-презентация
➡️Справочник Программиста. Подписаться👀 Библиотека In_place в Python
Библиотека
In_place предоставляет удобный способ для редактирования файлов "на месте" — т.е. без необходимости создавать временные файлы, а затем заменять оригинал.
Позволяет безопасно изменять содержимое файла, обрабатывая его строка за строкой. Библиотека может быть особенно полезной для задач, где требуется модифицировать текстовые файлы.
Основные возможности библиотеки:
❄️Редактирование файлов "на месте" через временный файл.
❄️Чтение файла строка за строкой с одновременной записью изменений.
❄️Безопасная замена оригинального файла только после успешной обработки.
❄️Поддержка текстового и бинарного режимов работы.
❄️Простое добавление, удаление или модификация строк в файле.
❄️Обработка файлов любого размера без создания дополнительных копий в памяти.
❄️Автоматическое управление временными файлами и их удаление.
❄️Обработка исключений без повреждения оригинального файла.
❄️Кросс-платформенность для Windows, macOS и Linux.
➡️Установка библиотеки: pip install in-place
📱 Репозиторий
➡️Справочник Программиста. ПодписатьсяIT-аутстаффинг
Ежедневно публикуем запросы на аутстаффинг разработчиков Java, Python, Flutter, C#, 1С и других ИТ-специалистов. Есть свой резерв, готовый прямо сейчас влиться в ваш проект. Посмотрите в канале наших свободных разработчиков.
Подписаться
#реклама
О рекламодателе
Код для создания изображений с подписями на Python
Для создания изображения с подписью в коде используется библиотека
Pillow.
➡️Установка библиотеки: pip install Pillow
from PIL import Image, ImageDraw, ImageFont
def create_image_with_text(text, output_path="output.png", text_size=36, position="center"):
# Создаём новое изображение размером 800x400, цвет фона - тёмно-синий
img = Image.new("RGB", (800, 400), color=(73, 109, 137))
# Инициализируем объект для рисования
draw = ImageDraw.Draw(img)
# Загружаем шрифт Arial с указанным размером текста
font = ImageFont.truetype("arial.ttf", size=text_size)
# Вычисляем размер текста с помощью textbbox (границы текста в формате (x_min, y_min, x_max, y_max))
text_bbox = draw.textbbox((0, 0), text, font=font)
text_width = text_bbox[2] - text_bbox[0] # Ширина текста
text_height = text_bbox[3] - text_bbox[1] # Высота текста
# Устанавливаем координаты текста в зависимости от выбранного положения
if position == "center": # Центр изображения
text_x = (img.width - text_width) // 2
text_y = (img.height - text_height) // 2
elif position == "top-left": # Верхний левый угол
text_x, text_y = 10, 10
elif position == "top-right": # Верхний правый угол
text_x = img.width - text_width - 10
text_y = 10
elif position == "bottom-left": # Нижний левый угол
text_x = 10
text_y = img.height - text_height - 10
elif position == "bottom-right": # Нижний правый угол
text_x = img.width - text_width - 10
text_y = img.height - text_height - 10
else:
# Если указано некорректное положение, выбрасываем исключение
raise ValueError(
"Недопустимое значение для position. Используйте: center, top-left, top-right, bottom-left, bottom-right."
)
# Добавляем текст на изображение по рассчитанным координатам
draw.text((text_x, text_y), text, fill="white", font=font)
# Сохраняем изображение в файл
img.save(output_path)
# Выводим сообщение о сохранении файла
print(f"Изображение сохранено как {output_path}")
# Запрашиваем у пользователя текст для изображения
text = input("Введите текст для изображения: ")
# Запрашиваем у пользователя размер текста
text_size = int(input("Введите размер текста: "))
# Предлагаем выбрать расположение текста
print(
"Выберите расположение текста: center, top-left, top-right, bottom-left, bottom-right"
)
# Получаем выбор пользователя
position = input("Введите расположение текста: ").strip()
# Вызываем функцию с указанными параметрами
create_image_with_text(text, text_size=text_size, position=position)
➡️Справочник Программиста. Подписаться👀 Библиотека pynput в Python
Библиотека
pynput используется для управления клавиатурой и мышью, а также для отслеживания их ввода.
Основные возможности библиотеки:
❄️Перехват нажатий и отпусканий клавиш.
❄️Симуляция нажатий клавиш и ввода текста.
❄️Перехват событий мыши (движение, клики, прокрутка).
❄️Симуляция кликов мыши, перемещения курсора и прокрутки.
❄️Поддержка работы с горячими клавишами.
❄️Кроссплатформенность (Windows, macOS, Linux).
➡️Установка библиотеки: pip install pynput
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяДарим подписку на Яндекс Музыку
Ответьте на 1 вопрос и Яндекс Музыка для вас и 3-х ваших близких 30 дней бесплатно.
Кинопоиск и Яндекс Книги тоже в подписке.
Попробуйте сейчас❤️
Попробовать
#реклама 18+
music.yandex.ru
О рекламодателе
Реклама на Яндексе
sudoku-in-python-packaging — это проект, который демонстрирует, как структурировать Python-проект для решения задачи создания и упаковки консольного приложения на примере игры «Судоку».
Это учебный пример, который помогает лучшие понять практики Python-разработки и создания упаковки для распространения через PyPI.
Каждая ячейка в сетке судоку представляет собой пакет sudoku_{x}_{y} (индексировано 0), а версия (1-9) - это значение в поле, поэтому вы можете написать pyproject.toml, и установленные пакеты будут решением.
📱 Репозиторий
➡️Справочник Программиста. ПодписатьсяДарим кино, музыку и книги — на 30 дней всего за 1 ₽
В честь Нового года и Рождества с дарим доступ к Кинопоиску, Музыке и Книгам на 30 дней всего за 1 ₽✨
Успейте посмотреть специальную новогоднюю подборку и воспользоваться всеми преимуществами подписки за 1 ₽ ❤️
Успейте забрать подарок до 9 января
Узнать больше
#реклама 18+
kinopoisk.ru
О рекламодателе
Реклама на Яндексе
👀 Библиотека Tenacity в Python
Библиотека
Tenacity предназначена для управления повторными попытками выполнения операций, которые могут завершиться неудачно.
Позволяет легко настроить логику повторов, интервалов между попытками, максимальное количество попыток и обработку ошибок.
Основные возможности библиотеки:
❄️Повтор попыток при ошибках: Если функция вызывает исключение, Tenacity может автоматически выполнить её повторно.
❄️Настройка интервалов: Можно задавать фиксированные или изменяющиеся интервалы между попытками.
❄️Ограничение попыток: Настраивается максимальное количество попыток или общее время выполнения.
❄️Фильтрация исключений: Можно указать, какие именно исключения должны приводить к повторной попытке.
❄️Callbacks (обратные вызовы): Добавление пользовательских функций для логирования или другой обработки между попытками.
➡️Установка библиотеки: pip install tenacity
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяУгадай, что в твоём новогоднем подарке?
Потряси новогодний шар от Кинопоиска и узнай, что внутри!
Попробовать
#реклама 18+
kinopoisk.ru
О рекламодателе
Реклама на Яндексе
Khoj — это инструмент, который превращает локальный компьютер в персонального помощника на основе ИИ.
Интегрируется с популярными приложениями, такими как Obsidian, и позволяет мгновенно искать информацию в заметках, документах или личных базах данных.
Разработан для локального использования, обеспечивая конфиденциальность и безопасность данных.
Основные возможности:
❄️Локальная работа: Все данные остаются на вашем устройстве, что повышает уровень конфиденциальности.
❄️Интеграция с заметками: Особенно хорошо работает с приложением Obsidian, предоставляя возможность умного поиска и анализа ваших заметок.
❄️Натуральный язык: Поддержка запросов на естественном языке, что позволяет взаимодействовать с инструментом интуитивно.
❄️Расширяемость: Возможность подключения собственных баз знаний, документов и других ресурсов.
❄️OpenAI-интеграция: При наличии ключа API OpenAI, можно дополнительно использовать модели GPT для обработки запросов.
➡️Установка библиотеки: pip install khoj
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяСможете отличить факт от фикции в мире IT?
Проверьте себя — ответьте на 5 вопросов и получите гайд «Топ-20 книг для развития гибких навыков», а также скидку 5% на обучение.
Узнать больше
#реклама 16+
mrqz.me
О рекламодателе
🎄Подборка новогоднего контента по Python
🌟Статьи:
Рисование GUI ёлки на Python tkinter
Преобразование текста в новогодний стиль на Python
Анимированная 3D ёлка на Python
Фейерверки на Python
🌟Горизонтальные видео:
📺 Новогодние программы на Python | Сборник №1
🌟 Новогодние программы на Python | Сборник №1
📺 3 Новогодние программы на Python | Сборник №2
🌟 3 Новогодние программы на Python | Сборник №2
🌟Вертикальные видео (shorts):
📺 Анимированная новогодняя открытка на Python
🌟 Анимированная новогодняя открытка на Python
📺 Анимированная ёлка в консоли на Python
🌟 Анимированная ёлка в консоли на Python
Новогодняя распродажа моих курсов
➡️Справочник Программиста. Подписаться
👀 Библиотека PyYAML в Python
Библиотека
PyYAML предназначена для работы с YAML (YAML Ain't Markup Language), удобным для человека форматом сериализации данных.
YAML часто используется для конфигурационных файлов и в случаях, когда требуется передача данных между языками программирования, так как он более читаем по сравнению с другими форматами, такими как JSON и XML.
Основные возможности библиотеки:
❄️Чтение YAML: позволяет загружать данные из файлов или строк в формате YAML и преобразовывать их в объекты Python (например, в словари и списки).
❄️Запись YAML: может сериализовать объекты Python обратно в формат YAML, позволяя сохранять данные в файлах или выводить их на экран.
❄️Поддержка сложных объектов: может обрабатывать сложные структуры данных, такие как вложенные списки и словари, а также пользовательские классы.
➡️Установка библиотеки: pip install PyYAML
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. Подписаться+5
Новые бесплатные курсы в канале Selectel Newsfeed.
Подойдут всем: от новичков до продвинутых айтишников.
Вас ждут обзоры, инструкции и статьи, которые помогут разобраться в темах структурно и последовательно.
Вступайте в сообщество IT-специалистов в Telegram от Selectel.
Подписаться
#реклама 16+
О рекламодателе
Код анимированной консольной новогодней ёлки на Python
Для стилизации в коде используется сторонняя библиотека
colorama.
➡️Установка библиотеки: pip install colorama
import random
import time
from colorama import init, Fore
init(autoreset=True) # Инициализация colorama
def draw_tree(height=10):
try:
while True:
print("\033c", end="") # Очистка консоли
print("Новогодняя ёлка\n")
for i in range(1, height + 1):
level = " " * (height - i) + "*" * (2 * i - 1)
decorated_level = "".join(
random.choice([
Fore.GREEN + "*", # Зелёная звезда
Fore.RED + "o", # Красный шарик
Fore.YELLOW + "x" # Жёлтая гирлянда
]) if char == "*" else char for char in level)
print(decorated_level)
print(" " * (height - 1) + Fore.MAGENTA + "|||") # Ствол
time.sleep(0.5) # Пауза для анимации
except KeyboardInterrupt:
print("\nАнимация остановлена. С наступающим Новым годом!")
if __name__ == "__main__":
draw_tree()
➡️Справочник Программиста. Подписаться
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
