Справочник Программиста
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
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
Справочник Программиста
📺 Защита Excel-файла паролем на Python В данном shorts напишем код для добавления пароля Excel-файлу на Python. ➡️Справочник Программиста. Подписаться
Код для защиты Excel-файла паролем на Python

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

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

import xlwings as xw

# Открываем существующий Excel-документ
file_path = "example.xlsx"
app = xw.App(visible=False)
wb = app.books.open(file_path)

# Защищаем Excel-файл пароль
wb.api.Password = "password123"

# Сохраняем защищённый файл
wb.save("protected_example.xlsx")

# Всё закрываем
wb.close()
app.quit()


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

Библиотека ftpdlib позволяет создавать FTP-сервера. Она написана на чистом Python и поддерживает большинство стандартных FTP-команд.

Основные возможности библиотеки:
🔵Поддержка FTP и FTPS: Поддерживает как стандартный FTP, так и FTP поверх SSL (FTPS) для шифрования данных.
🔵Высокая производительность: Благодаря асинхронной архитектуре, pyftpdlib может обрабатывать большое количество соединений.
🔵Расширяемость: Возможность создавать собственные классы серверов, клиентов, авторизаций и прочее, используя классы библиотеки как базовые.
🔵Безопасность: Поддержка SSL/TLS, возможность ограничения доступа по IP, настройка прав.

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

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

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

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

Удобна для использования в чат-ботах, играх и других приложениях, где нужно немного юмора.

Пример кода
import pyjokes

# Получаем случайную шутку
joke = pyjokes.get_joke(language='ru')
# Выводим полученную шутку
print(joke)


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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍4🔥4
Код для скачивания файла с удаленного сервера по SSH на Python

Для работы с SSH в коде используется библиотека paramiko.

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

import paramiko

# Создаём SSH-клиент
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# Подключаемся к удаленному серверу
client.connect('hostname', username='username', password='password')

# Открываем SFTP-сессию
sftp = client.open_sftp()

# Скачиваем файл с удаленного сервера
sftp.get('remote_file.txt', 'local_file.txt')

# Закрываем SFTP-сессию
sftp.close()

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


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

Библиотека Deepdoctection предназначена для анализа документов с использованием методов компьютерного зрения и обработки естественного языка.

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

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

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

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

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

Библиотека Pyxel предназначена для создания ретро-игр. Она позволяет легко создавать игры с пиксельной графикой и простыми звуковыми эффектами.

Основные возможности библиотеки:
🔵Пиксельная графика: Поддерживает создание и отображение графики с низким разрешением, что идеально подходит для создания ретро-игр.
🔵Звуковые эффекты: Включает редактор звуковых эффектов и музыки, позволяя пользователям создавать простые звуковые эффекты и музыкальные треки.
🔵Платформы: Поддерживает Windows, macOS и Linux, что делает её кросс-платформенной.
🔵Простота использования: Разработана с целью быть лёгкой в использовании и изучении.
🔵Минимальные зависимости: Библиотека не требует установки дополнительных зависимостей и работает «из коробки».
🔵Кросс-платформенность: Поддерживает создание игр, которые можно запускать на разных операционных системах, включая Windows, macOS и Linux.

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

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

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

Для извлечения изображений используется библиотека PyMuPDF.

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

import fitz

file = 'example.pdf'

# Открываем PDF-файл
pdf = fitz.open(file)

# Перебираем каждую страницу PDF-файла
for i in range(len(pdf)):
# Перебираем каждое изображение на текущей странице
for image in pdf.get_page_images(i):
# Получаем ссылку на изображение
xref = image[0]
# Создаём объект Pixmap из ссылки на изображение
pix = fitz.Pixmap(pdf, xref)
# Проверяем, имеет ли изображение менее 5 цветовых компонентов (не является ли изображением в формате CMYK)
if pix.n < 5:
# Сохраняем пиксмапу в виде изображения PNG
pix.save(f'{xref}.png')
else:
# Создаём новую пиксмапу с цветовым пространством RGB
pix1 = fitz.open(fitz.csRGB, pix)
# Сохраняем новую пиксмапу в виде изображения PNG
pix1.save(f'{xref}.png')
# Освобождаем ресурсы, связанных с новой пиксмапой
pix1 = None
# Освобождаем ресурсы, связанные с исходной пиксмапой
pix = None


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

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

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

Основные возможности библиотеки:
🔵Преобразование растровых изображений в векторные: Основная функция библиотеки заключается в преобразовании растровых изображений (например, PNG, JPEG) в векторные форматы (например, SVG).
🔵Настройки детализации и точности: Можно настраивать уровень детализации и точности векторизации, чтобы получить желаемый результат.
🔵Поддержка различных форматов: Поддерживает различные форматы входных изображений и выходных векторных файлов.
🔵Гладкие кривые: Векторизация с использованием vtracer позволяет получить гладкие и точные кривые, что особенно полезно для сложных изображений с множеством деталей.

Пример кода для векторизации изображения
import vtracer
from PIL import Image

# Путь к изображению
input_image_path = "example.png"
# Путь к итоговому результату
output_image_path = "output.svg"

# Загружаем изображение
input_image = Image.open(input_image_path)

# Векторизуем изображение
vtracer.convert_image_to_svg_py(input_image_path, output_image_path)


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

📱 Репозиторий
💬 Демо

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

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

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

from bs4 import BeautifulSoup


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

# Создаём объект BeautifulSoup и извлекаем источники изображений
soup = BeautifulSoup(html_content, 'html.parser')
return [img['src'] for img in soup.find_all('img', src=True)]


file_path = 'index.html'
print(get_images_from_file(file_path))


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

Библиотека Pympler помогает анализировать и отслеживать использование памяти в Python-программах.

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

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

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

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

Библиотека SAHI предназначена для улучшения моделей обнаружения объектов.

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

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

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

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

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