Справочник Программиста
6.28K subscribers
1.35K photos
387 videos
64 files
1.7K 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
Библиотека Mediapipe в Python

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

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

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

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

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

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

Для обработки изображения в коде используется библиотека OpenCV, а для распознавания человека на изображении - Mediapipe. Также необходима установка numpy.

➡️Установка библиотек: pip install opencv-python mediapipe numpy

import cv2
import mediapipe as mp
import numpy as np

# Инициализация Mediapipe Selfie Segmentation
mp_selfie_segmentation = mp.solutions.selfie_segmentation

# Загрузка изображения
image_path = 'image.png'
image = cv2.imread(image_path)
height, width, _ = image.shape

# Создание копии изображения для размывания фона
blurred_image = cv2.GaussianBlur(image, (21, 21), 0)

# Инициализация Selfie Segmentation
with mp_selfie_segmentation.SelfieSegmentation(model_selection=1) as selfie_segmentation:
# Обработка изображения
results = selfie_segmentation.process(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))

# Создание маски для области человека
mask = results.segmentation_mask > 0.5
mask = mask.astype(np.uint8) * 255

# Инвертирование маски для фона
background_mask = cv2.bitwise_not(mask)

# Извлечение фона и размывание его
background_blurred = cv2.bitwise_and(blurred_image, blurred_image, mask=background_mask)

# Извлечение человека из исходного изображения
person = cv2.bitwise_and(image, image, mask=mask)

# Объединение размытого фона и человека
final_image = cv2.add(background_blurred, person)

# Сохранение результата
output_path = 'output.jpg'
cv2.imwrite(output_path, final_image)

cv2.waitKey(0)
cv2.destroyAllWindows()


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

Библиотека diagrams используется для генерации диаграмм архитектуры систем и облачных решений.

Позволяет создавать визуальные представления инфраструктуры с использованием простого и интуитивно понятного синтаксиса.

Основные возможности библиотеки:
🔵Простота использования: Синтаксис библиотеки напоминает написание кода на Python, что делает процесс создания диаграмм простым и удобным.
🔵Поддержка множества провайдеров и сервисов: Поддерживает широкий спектр провайдеров и сервисов, что позволяет создавать комплексные диаграммы для различных сценариев использования.
🔵Расширяемость: Возможность добавления собственных иконок и компонентов, если стандартных не хватает.
🔵Автоматизация: Возможность интеграции в CI/CD пайплайны для автоматического обновления диаграмм.

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

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

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

Для парсинга и работы с HTML-файлом в коде используется библиотека beautifulsoup4, а для удобного вывода таблицы - pandas.

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

from bs4 import BeautifulSoup
import pandas as pd

# Считываем содержимое HTML-файла
with open('index.html', 'r', encoding='utf-8') as file:
html_content = file.read()

# Парсим содержимое HTML-файла
soup = BeautifulSoup(html_content, 'html.parser')

# Извлекаем все таблицы
tables = soup.find_all('table')

for i, table in enumerate(tables):
# Извлекаем заголовки таблицы
headers = [header.text for header in table.find_all('th')]

# Извлекаем строки таблицы
rows = []
for row in table.find_all('tr')[1:]:
cells = [cell.text for cell in row.find_all('td')]
rows.append(cells)

# Создаём DataFrame
df = pd.DataFrame(rows, columns=headers)

print(f"Таблица {i + 1}:")
print(df)
print("\n")


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

Библиотека Pendulum предназначена для работы с датами и временем в Python, и предоставляет более удобный и интуитивно понятный интерфейс, чем стандартный модуль datetime.

Основные возможности библиотеки:
🔵Более выразительный API для работы с датами и временем.
🔵Улучшенная поддержка часовых поясов.
🔵Упрощенное форматирование и разбор дат и времени.

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

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

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

Для работы с docx-файлами в коде используется библиотека python-docx.

➡️Установка модулей: pip install python-docx

from docx import Document
from docx.shared import Pt, Inches

# Открываем существующий документ
doc = Document('example.docx')

# Добавляем нижний колонтитул на первую секцию документа
section = doc.sections[0]
footer = section.footer

# Добавляем параграф с нижним колонтитулом
paragraph = footer.add_paragraph()

# Настраиваем текст нижнего колонтитула
run = paragraph.add_run('Это нижний колонтитул')
run.font.size = Pt(10) # Размер шрифта
run.font.name = 'Times New Roman' # Шрифт
paragraph.alignment = 1 # Выравнивание: 0 - левое, 1 - центр, 2 - правое

# Устанавливаем отступы
paragraph.paragraph_format.left_indent = Inches(0.5)
paragraph.paragraph_format.right_indent = Inches(0.5)

# Сохраняем изменения
doc.save('example_with_footer.docx')


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5
Модуль textwrap в Python

Модуль textwrap предоставляет методы для форматирования текста, учитывая различные параметры, такие как ширина строки, отступы и обрезка текста.

Некоторые функции из модуля textwrap:
🔵textwrap.wrap() используется для разделения текста на строки с заданной шириной. Она возвращает список строк, где каждая строка имеет ширину, указанную в аргументе width.

🔵textwrap.indent() используется для добавления префикса к каждой строке текста. Она принимает аргументы text (текст для отступа), prefix (префикс, который нужно добавить) и необязательный аргумент predicate (функция, которая определяет, к каким строкам применять отступ).

🔵textwrap.dedent() используется для удаления общего отступа из каждой строки текста. Она автоматически определяет общий отступ и удаляет его из каждой строки.

🔵textwrap.fill() используется для форматирования текста в виде абзацев с заданной шириной. Она возвращает отформатированный текст, где каждый абзац имеет ширину, указанную в аргументе width.

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

Для работы с определённым окном в коде используется модуль pygetwindow, а для работы с мониторами - модуль screeninfo.

➡️Установка модулей: pip install pygetwindow screeninfo

import pygetwindow as gw
from screeninfo import get_monitors


def move_window_to_another_monitor(window_title):
# Получение списка мониторов
monitors = get_monitors()
if len(monitors) < 2:
print("Нужно хотя бы два монитора для выполнения операции")
return

# Получение окна по заголовку
window = gw.getWindowsWithTitle(window_title)[0]
if not window:
print(f"Окно с заголовком '{window_title}' не найдено")
return

# Координаты окна
window_x, window_y, window_width, window_height = window.left, window.top, window.width, window.height

# Определение текущего монитора окна
current_monitor = None
for monitor in monitors:
if monitor.x <= window_x < monitor.x + monitor.width:
current_monitor = monitor
break

if not current_monitor:
print("Не удалось определить текущий монитор окна")
return

# Определение целевого монитора (следующий монитор)
target_monitor = monitors[(monitors.index(current_monitor) + 1) % len(monitors)]

# Новые координаты окна для перемещения на целевой монитор
new_window_x = target_monitor.x + 100 # Смещение от левого верхнего угла целевого монитора
new_window_y = target_monitor.y + 100 # Смещение от левого верхнего угла целевого монитора

# Перемещение окна
window.moveTo(new_window_x, new_window_y)
print(f"Окно '{window_title}' перемещено на монитор {target_monitor.name}")


# Пример использования
move_window_to_another_monitor("test.txt – Блокнот")


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

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

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

Основные возможности библиотеки:
🔵Создание графов:
🟢Поддержка различных типов графов: неориентированные, ориентированные, мультиграфы (графы с множественными ребрами между узлами).
🟢Простое добавление и удаление узлов и рёбер.
🔵Манипуляции с графами:
🟢Поддержка различных операций с графами, таких как объединение, пересечение и взвешивание графов.
🟢Возможность добавления атрибутов к узлам и рёбрам для хранения дополнительной информации.
🔵Алгоритмы графов: Встроенные алгоритмы для поиска путей (например, алгоритмы Дейкстры и Флойда-Уоршелла), выявления компонент связности, нахождения кратчайших путей, центральностей и многие другие.

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

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

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

Библиотека xlwings упрощает взаимодействие с Excel через COM-интерфейс и позволяет создавать, читать и изменять Excel-файлы.

Основные особенностей библиотеки:
🔵Работа с Excel напрямую: Позволяет работать с Excel, как если бы его использовал непосредственно человек.
🔵Двусторонняя связь: Возможность как читать данные из Excel в Python, так и записывать результаты работы Python-кода обратно в Excel.
🔵Поддержка UDF: Поддерживает создание пользовательских функций (User Defined Functions, UDF), которые можно использовать в Excel, как встроенные функции.
🔵Сложные сценарии и автоматизация: Возможность автоматизировать задачи, такие как создание отчетов или анализ данных, используя Python и Excel вместе.
🔵Поддержка различных форматов: Работает с различными форматами файлов Excel, включая .xlsx, .xlsm и .xls.
🔵Интеграция с Pandas: Легко интегрируется с Pandas, что упрощает работу с табличными данными.

Пример кода
import xlwings as xw

# Открываем рабочую книгу
wb = xw.Book('example.xlsx')

# Выбираем активный лист
sheet = wb.sheets.active

# Записываем значение в ячейку
sheet.range('A1').value = 'Hello, Excel!'

# Сохраняем итоговый результат
wb.save()
# Закрываем рабочую книгу
wb.close()


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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7👍5🔥3
📺 Защита Excel-файла паролем на Python

В данном shorts напишем код для добавления пароля Excel-файлу на Python.

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