Справочник Программиста
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
Утилита SAM в Python

Утилита SAM (Style-Based Age Manipulation) предназначена для изменения возраста с использованием искусственного интеллекта и регрессионных моделей.

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

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

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

Библиотека Kombu предназначенная для работы с сообщениями и очередями сообщений.

Она часто используется вместе с Celery для обработки задач асинхронно, но может использоваться и автономно.

Основные особенности библиотеки:
🔵Унифицированный интерфейс: Предоставляет единый API для работы с различными брокерами сообщений, такими как RabbitMQ, Redis, Amazon SQS и другими. Это позволяет легко переключаться между различными системами доставки сообщений без изменения кода приложения.
🔵Обмены и очереди: Поддерживает создание и управление обменами (exchanges) и очередями (queues), а также связывание их для маршрутизации сообщений.
🔵Серилизация: Поддерживает различные форматы сериализации сообщений, включая JSON, pickle, msgpack, и другие. Это позволяет легко передавать сложные объекты между различными компонентами системы.
🔵Управление подключениями: Умеет эффективно управлять подключениями к брокеру сообщений, автоматически восстанавливая их в случае разрыва.
🔵Асинхронная работа: Поддержка асинхронной работы, что позволяет интегрировать Kombu с асинхронными фреймворками, такими как asyncio.

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

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

➡️Справочник Программиста. Подписаться
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.

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

from bs4 import BeautifulSoup


def read_html_file(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
# Читаем содержимое файла и возвращаем его
return file.read()


def extract_list_items(list_tag):
# Извлекаем текст из всех тегов <li> внутри указанного тега списка
return [li.get_text().strip() for li in list_tag.find_all('li')]


def extract_lists_from_html(html_doc):
# Создаем объект BeautifulSoup
soup = BeautifulSoup(html_doc, 'html.parser')
# Находим все теги <ul> (неупорядоченные списки)
unordered_lists = soup.find_all('ul')
# Находим все теги <ol> (упорядоченные списки)
ordered_lists = soup.find_all('ol')

all_list_items = {
'unordered_lists': [extract_list_items(ul) for ul in unordered_lists], # Извлекаем элементы из всех неупорядоченных списков
'ordered_lists': [extract_list_items(ol) for ol in ordered_lists] # Извлекаем элементы из всех упорядоченных списков
}
# Возвращаем словарь со всеми извлеченными списками
return all_list_items


def print_extracted_lists(all_list_items):
print("Неупорядоченные списки:")
for i, ul_items in enumerate(all_list_items['unordered_lists'], start=1):
# Выводим содержимое каждого неупорядоченного списка
print(f"Список {i}: {ul_items}")

print("\nУпорядоченные списки:")
for i, ol_items in enumerate(all_list_items['ordered_lists'], start=1):
# Выводим содержимое каждого упорядоченного списка
print(f"Список {i}: {ol_items}")


def main(html_file_path):
try:
# Читаем HTML-файл
html_doc = read_html_file(html_file_path)
# Извлекаем списки из HTML
all_list_items = extract_lists_from_html(html_doc)
# Выводим извлечённые списки
print_extracted_lists(all_list_items)
except Exception as e:
# Выводим сообщение об ошибке, если что-то пошло не так
print(f"Произошла ошибка: {e}")


if __name__ == "__main__":
html_file_path = 'index.html'
# Вызываем функцию main с указанным путем к HTML-файлу
main(html_file_path)


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

Библиотека argcomplete предназначена для автоматического дополнения аргументов командной строки в Python.

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

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

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

📺 Разбор модуля argparse в Python

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

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

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

from docx import Document


def merge_docs(output, *files):
# Создаем новый пустой Word-документ
merged_doc = Document()
# Проходимся по каждому входному файлу
for file in files:
# Открываем текущий входной файл как документ Word
doc = Document(file)
# Проходимся по каждому элементу тела документа
for element in doc.element.body:
# Добавляем элемент в тело выходного документа
merged_doc.element.body.append(element)
# Сохраняем объединенный документ в указанный выходной файл
merged_doc.save(output)


merge_docs('output.docx', '1.docx', '2.docx', '3.docx')


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

Библиотека pyspellchecker предназначена для проверки орфографии и исправления ошибок в текстах.

Предоставляет простой и эффективный способ обнаружения и исправления опечаток и других орфографических ошибок в текстовых данных.

Основные возможности библиотеки:
🔵Обнаружение ошибок: Выявление слов с орфографическими ошибками.
🔵Исправление ошибок: Предложение корректных вариантов для слов с ошибками.
🔵Работа с несколькими языками: Поддержка различных языков, что позволяет использовать библиотеку для текстов на разных языках.
🔵Эффективность и быстродействие: Использование алгоритма Levenshtein Distance для эффективного поиска и исправления ошибок.

Пример кода
from spellchecker import SpellChecker

# Создание объекта SpellChecker для английского языка
spell = SpellChecker()

# Текст для проверки
text = "Ths is a smple txt with sme speling errors."

# Разделение текста на слова
words = text.split()

# Проверка каждого слова на ошибки
misspelled = spell.unknown(words)

# Исправление ошибок
for word in misspelled:
# Получение наиболее вероятного исправления
correct_word = spell.correction(word)
print(f"'{word}' может быть исправлено на '{correct_word}'")

# Получение списка возможных исправлений
suggestions = spell.candidates(word)
print(f"Возможные исправления для '{word}': {suggestions}")


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

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

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

Модуль Unidecode предназначен для преобразования Unicode текста в ASCII, что упрощает работу с текстами, содержащими символы из различных алфавитов.

Она полезна для нормализации текста, удаления диакритических знаков и приведения текста к форме, подходящей для систем, не поддерживающих Unicode.

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

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

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

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

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

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

from docx import Document


def replace_text(doc, search, replace):
# Проходимся по всем параграфам документа
for p in doc.paragraphs:
# Если в тексте параграфа есть искомое слово
if search in p.text:
# Заменяем искомое слово на новое
p.text = p.text.replace(search, replace)
# Проходимся по всем таблицам в документе
for table in doc.tables:
# Проходимся по всем строкам в таблице
for row in table.rows:
# Проходимся по всем ячейкам в строке
for cell in row.cells:
# Рекурсивно вызываем функцию replace_text для каждой ячейки
replace_text(cell, search, replace)


doc = Document('example.docx')
# Вызываем функцию replace_text для замены слова 'old_text' на 'new_text' в документе
replace_text(doc, 'old_text', 'new_text')
# Сохраняем измененный документ под именем 'replaced_text.docx'
doc.save('replaced_text.docx')


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