Справочник Программиста
6.28K subscribers
1.36K photos
387 videos
64 files
1.71K links
По рекламе - @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
Download Telegram
Media is too big
VIEW IN TELEGRAM
Код для добавления текстового водяного знака на Python

Для работы с изображением и добавления текстового водяного знака в коде используется библиотека Pillow.

➡️Установка библиотеки: pip install pillow

from PIL import Image, ImageDraw, ImageFont


def add_text_watermark(input_image_path, output_image_path, text, position, font_path=None, font_size=36,
font_color=(255, 255, 255), opacity=128):
# Открываем изображение
image = Image.open(input_image_path).convert("RGBA")

# Создаём новое изображение с теми же размерами, но для прозрачного слоя
txt_layer = Image.new("RGBA", image.size, (255, 255, 255, 0))

# Создаем объект для рисования
draw = ImageDraw.Draw(txt_layer)

# Загружаем шрифт (используем шрифт по умолчанию, если не указан)
if font_path:
font = ImageFont.truetype(font_path, font_size)
else:
font = ImageFont.load_default()

# Получаем ограничивающий прямоугольник текста
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':
position = ((image.width - text_width) // 2, (image.height - text_height) // 2)
elif position == 'bottom_right':
position = (image.width - text_width - 15, image.height - text_height - 15)

# Добавляем текст с прозрачностью
draw.text(position, text, font=font, fill=(*font_color, opacity))

# Объединяем текстовый слой с оригинальным изображением
watermarked_image = Image.alpha_composite(image, txt_layer)

# Конвертируем обратно в RGB (если нужно для сохранения в JPEG)
watermarked_image = watermarked_image.convert("RGB")

# Сохраняем результат
watermarked_image.save(output_image_path)


# Пример использования
add_text_watermark(
input_image_path="image.jpg",
output_image_path="watermarked_image.jpg",
text="© Your Watermark",
position="bottom_right",
font_path="arial.ttf", # Указываем путь к шрифту (если не указано, используется шрифт по умолчанию)
font_size=50, # Размер текста
font_color=(255, 255, 255), # Цвет текста (белый)
opacity=128 # 50% прозрачности
)


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4❤‍🔥3
Библиотека num2words в Python

Библиотека num2words используется для преобразования чисел в текст, т.е. она позволяет конвертировать числовые значения в их словесное представление.

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

Пример преобразования чисел на английский язык
from num2words import num2words

print(num2words(123))
# Вывод: 'one hundred and twenty-three'


Пример преобразования чисел на русский язык
from num2words import num2words

print(num2words(123, lang='ru'))
# Вывод: 'сто двадцать три'


➡️Установка библиотеки: pip install num2words

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6❤‍🔥3
Спасибо анониму за донат (поздно заметил), последний раз до него он был аж 414 дней назад 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤‍🔥7
Библиотека Reflex в Python

Библиотека Reflex (ранее известная как Pynecone) предназначена для создания полноценных веб-приложений, где весь код (и фронтенд, и бэкенд) пишется на Python, без необходимости изучать JavaScript.

Основные особенности библиотеки:
🔵Чистый Python: Весь код приложения пишется на Python, что упрощает процесс разработки для тех, кто уже знаком с языком.
🔵Мгновенное развёртывание: После создания приложения его можно развернуть одной командой или хостить на собственном сервере.
🔵Гибкость: Встроено более 60 компонентов для создания пользовательских интерфейсов, с возможностью создания собственных компонентов.

➡️Установка библиотеки: pip install reflex

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4❤‍🔥3
📺 Создание скриншота области экрана по координатам на Python

В данном shorts напишем код для создания скриншота области экрана по координатам на Python.

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7👍2🔥2
Справочник Программиста
📺 Создание скриншота области экрана по координатам на Python В данном shorts напишем код для создания скриншота области экрана по координатам на Python. ➡️Справочник Программиста. Подписаться
3 кода для создания скриншота области экрана по координатам на Python

Первый способ:

➡️Установка библиотеки: pip install Pillow

from PIL import ImageGrab

# Задаём координаты (x1, y1) и (x2, y2) для области
x1 = 100 # Левый верхний угол по оси X
y1 = 100 # Левый верхний угол по оси Y
x2 = 400 # Правый нижний угол по оси X
y2 = 300 # Правый нижний угол по оси Y

# Делаем скриншот заданной области
screenshot = ImageGrab.grab(bbox=(x1, y1, x2, y2))

# Сохраняем скриншот
screenshot.save('screenshot.png')


Второй способ:

➡️Установка библиотеки: pip install pyscreenshot

import pyscreenshot as ImageGrab

# Задаём координаты области
x1, y1, x2, y2 = 100, 100, 400, 300

# Делаем скриншот
screenshot = ImageGrab.grab(bbox=(x1, y1, x2, y2))

# Сохраняем скриншот
screenshot.save('screenshot.png')


Третий способ:

➡️Установка библиотеки: pip install pyautogui

import pyautogui

# Задаём координаты (x, y) и размеры (width, height) области
x = 100
y = 100
width = 300
height = 200

# Делаем скриншот определённой области
screenshot = pyautogui.screenshot(region=(x, y, width, height))

# Сохраняем скриншот
screenshot.save('screenshot.png')


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Утилита Clark в Python

Утилита Clark предназначена для работы с аудио и видео в командной строке.

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

Основные возможности утилиты:
🔵Создание временных меток и воспроизведение: Позволяет воспроизводить аудио и видео и создавать временные метки в нужных местах. Можно быстро перемещаться по файлу, ставить метки и при необходимости удалять их.
🔵Обрезка и разделение файлов: Её можно использовать для обрезки ненужных частей или разделения медиафайлов по временным меткам.
🔵Управление через горячие клавиши: Предоставляет набор удобных сочетаний клавиш для управления воспроизведением.
🔵Использование MPV и FFMPEG: Для воспроизведения файлов Clark использует медиаплеер MPV, а для обрезки и разделения - FFMPEG.

➡️Установка: pip install https://github.com/wong-justin/clark/archive/main.zip

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥2👍1
Библиотека emoji в Python

Библиотека emoji предназначена для работы с эмодзи, упрощая процесс их добавления и использования в тексте.

Поддерживает добавление эмодзи как по их коротким кодам (например, :smile:), так и непосредственно через их Unicode-символы.

Пример добавления эмодзи:
import emoji
print(emoji.emojize("Python is fun :snake:"))
# Вывод: Python is fun 🐍


➡️Установка библиотеки: pip install emoji

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥8🔥5👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🗂 Код для архивации данных на Python

Для архивации в коде используются стандартные модули os и zipfile

import zipfile
import os


def archive_folder(zip_name, folder_path):
# Создаём новый ZIP-архив с именем zip_name
# Параметр 'w' означает, что мы создаём архив с нуля, ZIP_DEFLATED для сжатия
with zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED) as zipf:
# Используем os.walk для рекурсивного обхода всех файлов и папок внутри folder_path
for root, dirs, files in os.walk(folder_path):
# Проходимся по всем файлам в текущей директории
for file in files:
# Получаем полный путь к файлу
file_path = os.path.join(root, file)
# Добавляем файл в архив, сохраняя относительный путь от корневой папки
zipf.write(file_path, os.path.relpath(file_path, folder_path))
# Выводим сообщение о том, что файл был добавлен
print(f'Файл {file_path} добавлен в архив.')


# Пример использования
folder_to_archive = 'my_folder' # Указываем папку, которую хотим архивировать
archive_name = 'my_folder_archive.zip' # Указываем имя для создаваемого архива

# Вызываем функцию архивации папки
archive_folder(archive_name, folder_to_archive)


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5🔥4👍2
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека PandasGUI в Python

Библиотека PandasGUI предоставляет графический интерфейс для работы с данными в формате DataFrame из библиотеки pandas.

Упрощает процесс анализа и визуализации данных, позволяя пользователям взаимодействовать с данными без необходимости писать код для каждой операции.

Основные возможности библиотеки:
🔵Графический интерфейс для DataFrame: Возможность загружать данные из разных источников (CSV, Excel, SQL и т.д.) и просматривать их в формате таблицы. Также доступны такие функции, как сортировка, фильтрация и групповое редактирование данных через удобные меню.
🔵Визуализация данных: Включает инструменты для создания графиков и диаграмм без написания кода.
🔵Работа с большими объемами данных: Поддерживает работу с большими наборами данных, используя механизмы отложенной загрузки и обработки данных по частям.
🔵Возможность работы с несколькими DataFrame: Возможность загружать и управлять несколькими наборами данных одновременно.
🔵Легкость использования: Ориентирована как на новичков, так и на опытных пользователей. Она делает работу с данными в pandas более интерактивной и интуитивно понятной.

Пример использования библиотеки:
import pandas as pd
from pandasgui import show

# Создаем DataFrame
data = pd.DataFrame({
'Имя': ['Анна', 'Борис', 'Виктор', 'Галина'],
'Возраст': [23, 30, 35, 29],
'Город': ['Москва', 'Санкт-Петербург', 'Новосибирск', 'Казань']
})

# Запускаем PandasGUI
show(data)


➡️Установка библиотеки: pip install pandasgui

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤‍🔥2🔥2
Библиотека Jedi в Python

Библиотека Jedi предназначена для поддержки интеллектуального анализа кода, автодополнения и навигации в Python-коде.

Используется в различных редакторах кода, таких как Vim, Emacs, Sublime Text, а также в некоторых IDE для предоставления таких функций, как:
🔵Автодополнение кода на основе контекста.
🔵Навигация по исходному коду, включая переход к определению функции или переменной.
🔵Интеллектуальный анализ кода с учётом типов.
🔵Проверка кода на предмет возможных ошибок.

➡️Установка библиотеки: pip install jedi

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤‍🔥3👍3
Media is too big
VIEW IN TELEGRAM
👀 Фреймворк Django-Unicorn в Python

Фреймворк Django-Unicorn добавляет функциональность реактивных компонентов в шаблоны Django. Позволяет создавать интерактивные элементы без необходимости изучать новый язык шаблонов или использовать сложные JavaScript-фреймворки.

Использует Livewire-подобную архитектуру, где связь между клиентом и сервером происходит асинхронно, без необходимости перезагрузки страницы.

Основные особенности фреймворка:
🔵Компоненты: объединение логики Python и HTML-шаблонов в одном модуле.
🔵Реактивные компоненты: автоматическое обновление интерфейса при изменении данных или событиях.
🔵Синхронизация состояния: динамическое обновление данных между клиентом и сервером без перезагрузки страницы.
🔵Асинхронная работа: поддержка асинхронных методов для обработки запросов в фоновом режиме.
🔵Минимальное использование JavaScript: позволяет создавать интерактивные интерфейсы с минимальной потребностью в JS.
🔵Легкая интеграция: простая установка и настройка в проектах Django.
🔵Совместимость с шаблонами Django: полная поддержка работы с Django ORM и другими функциями фреймворка.
🔵Поддержка событий и действий: возможность вызова серверных методов при взаимодействии с элементами интерфейса (клики, ввод данных и т.д.).

➡️Установка библиотеки: pip install django-unicorn

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4❤‍🔥3
Библиотека clean-text в Python

Библиотека clean-text предназначена для очистки текстов от нежелательных символов и форматирования.

Помогает удалять эмодзи, ненужные символы, лишние пробелы и проводить другие операции для подготовки текста к анализу или обработке.

Основные возможности библиотеки:
🔵Удаление нежелательных символов: Помогает избавиться от символов, которые могут мешать обработке текста, например, эмодзи, спецсимволов и других нежелательных элементов.
🔵Нормализация текста: Позволяет нормализовать текст, что включает в себя приведение его к нижнему регистру, удаление или замену специфических символов и строк.
🔵Удаление HTML-тегов: Может быть полезна для удаления тегов HTML из текста, чтобы упростить его дальнейшую обработку.
🔵Работа с символами Unicode: Предоставляет функциональность для обработки символов Unicode и их замены на стандартные символы.

➡️Установка библиотеки: pip install clean-text

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека tktimepicker в Python

Библиотека tktimepicker предоставляет виджет выбора времени для интерфейсов, разработанных с использованием библиотеки tkinter.

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

Основные возможности
🔵Выбор времени: Пользователи могут выбирать часы и минуты.
🔵Настраиваемость: Виджет можно настраивать по своему усмотрению, изменяя такие параметры, как цвет, размеры и шрифты.
🔵Простота использования: Легко интегрируется в существующие приложения на tkinter, что позволяет быстро добавить функционал выбора времени.
🔵Поддержка форматов: Возможность настроить формат времени (например, 12-часовой или 24-часовой).

Пример использования библиотеки:
import tkinter as tk
from tktimepicker import AnalogPicker, AnalogThemes

# Создаём основное окно приложения
root = tk.Tk()

# Создаём виджет выбора времени и передаем ему основное окно
time_picker = AnalogPicker(root)
# Размещаем виджет, позволяя ему расширяться и заполнять все доступное пространство
time_picker.pack(expand=True, fill="both")

# Создаём объект темы для виджета выбора времени
theme = AnalogThemes(time_picker)
# Устанавливаем тему Dracula для виджета
theme.setDracula()

root.mainloop()


➡️Установка библиотеки: pip install tkTimePicker

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2❤‍🔥1
Media is too big
VIEW IN TELEGRAM
Код для добавления блюра определённой области изображения на Python

Для добавления блюра в коде используется библиотека Pillow.

➡️Установка библиотеки: pip install Pillow

from PIL import Image, ImageFilter


def add_blur_to_area(image_path, output_path, box):
# Открываем изображение
image = Image.open(image_path)

# Извлекаем область для размытия
area = image.crop(box)

# Применяем блюр к области
blurred_area = area.filter(ImageFilter.GaussianBlur(radius=10))

# Вставляем размытую область обратно в изображение
image.paste(blurred_area, box)

# Сохраняем новое изображение
image.save(output_path)


# Пример использования
image_path = 'image.jpg' # Путь к вашему изображению
output_path = 'output_image.jpg' # Путь к сохранению нового изображения
box = (50, 900, 700, 1400) # Задаём координаты области (x1, y1, x2, y2)

add_blur_to_area(image_path, output_path, box)


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3👍3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека apsw в Python

Библиотека apsw (Another Python SQLite Wrapper) предназначена для работы с SQLite в Python. Предоставляет более низкоуровневый доступ к функциям SQLite по сравнению с стандартным модулем sqlite3.

Основные особенности и преимущества библиотеки:
🔵Полный доступ к SQLite: предоставляет полный доступ ко всем возможностям SQLite, включая расширения и новые функции, которые могут не поддерживаться в стандартной библиотеке sqlite3.
🔵Поддержка пользовательских функций: позволяет создавать собственные функции и методы, которые могут использоваться в SQL-запросах, что позволяет расширить функциональность SQLite.
🔵Многопоточность: лучше справляется с многопоточными приложениями благодаря более продвинутым механизмам блокировки и управления транзакциями.
🔵Отладка и диагностика: включает инструменты для диагностики и отладки, что может быть полезно при работе с большими и сложными базами данных.
🔵Соблюдение стандартов: следует стандартам Python и SQLite, что обеспечивает высокую степень совместимости.

Пример использования библиотеки:
import apsw

# Создаём базу данных
connection = apsw.Connection("example.db")
cursor = connection.cursor()

# Создаём таблицу
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)")

# Вставляем данные
cursor.execute("INSERT INTO users (name) VALUES (?)", ("Иван",))
cursor.execute("INSERT INTO users (name) VALUES (?)", ("Ирина",))

# Извлекаем данные
for row in cursor.execute("SELECT * FROM users"):
print(row)

# Закрываем соединение
connection.close()


➡️Установка библиотеки: pip install apsw

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5👍5🔥2
🖥 Утилита pisegment в Python

Утилита pisegment предназначена для полууправляемой сегментации изображений.

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

Основные особенности утилиты:
🔵Поддержка работы через графический интерфейс, где можно вручную размечать изображение с помощью правой кнопки мыши и выбирать из 9 цветов для аннотаций.
🔵После аннотирования процесс сегментации запускается автоматически.
🔵Инструмент также поддерживает возможность настройки параметров, таких как подавление шума и размер патча для ускорения обработки.

➡️Установка: pip install pisegment

Пример запуска сегментации:
pisegment --input "path/to/image/tobe/segmented" --mask "path/to/the/generated/annotation"


📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤‍🔥2