This media is not supported in your browser
VIEW IN TELEGRAM
Для сравнения изображений в коде используется библиотека
imagehash
, а для работы с изображениями - Pillow
.pip install Pillow imagehash
from PIL import Image
import imagehash
import os
def find_duplicate_images(folder):
hashes = {} # Словарь для хранения хэшей изображений и соответствующих им имен файлов
for filename in os.listdir(folder):
# Проверяем, что файл имеет расширение изображения
if filename.endswith(('.png', '.jpg', '.jpeg')):
path = os.path.join(folder, filename)
hash_val = imagehash.average_hash(Image.open(path)) # Создаем хэш изображения
if hash_val in hashes: # Если такой хэш уже встречался
print(f"Дубликат: {filename} и {hashes[hash_val]}") # Выводим найденный дубликат
else:
hashes[hash_val] = filename # Сохраняем хэш и имя файла в словарь
if __name__ == '__main__':
folder = input("Введите путь к папке с изображениями: ")
find_duplicate_images(folder)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3🔥3
Основные возможности:
pandas
, NumPy
и PyArrow
pip install datatable
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍1🔥1
⚒️ LIEF — это библиотека для анализа и модификации исполняемых форматов, совместимая с различными операционными системами и языками программирования.
Основные особенности:
🔵 Поддержка форматов ELF, PE, Mach-O, OAT, DEX, VDEX и ART
🔵 Единая абстрактная модель для работы с разными бинарными форматами
🔵 Возможность анализа и модификации исполняемых файлов
🔵 Поддержка языков C++, Python, Rust и частично C
🔵 Расширенная версия LIEF Extended с поддержкой DWARF, PDB, Objective-C, dyld shared cache, дизассемблера и ассемблера
🔵 Интеграции с Ghidra и Binary Ninja
🔵 Кроссплатформенная работа на Windows, Linux и macOS
➡️ Установка:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Основные особенности:
pip install lief
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍2
🌐 Код для сканирования открытых вкладок в Google Chrome на Python
Для отправки GET-запроса для получения данных о вкладках в формате JSON в коде используется библиотека
➡️ Установка библиотеки:
Как использовать:
✅ Запустить Chrome с отладочным портом:
✅ Запустить скрипт — он выведет список всех открытых вкладок (название + URL).
➡️ Справочник Программиста. Подписаться
Для отправки GET-запроса для получения данных о вкладках в формате JSON в коде используется библиотека
requests
.pip install requests
import requests
def get_chrome_tabs(debug_port=9222):
"""
Получает и выводит список открытых вкладок Chrome через удаленную отладку.
Args:
debug_port (int): Порт, на котором включена удаленная отладка.
По умолчанию используется порт 9222.
"""
try:
response = requests.get(f"http://localhost:{debug_port}/json")
tabs = response.json()
if not tabs:
print("Нет открытых вкладок или отладка не включена.")
return
for i, tab in enumerate(tabs, start=1):
title = tab.get('title', 'Без названия')
url = tab.get('url', 'Без URL')
print(f"{i}. {title} — {url}")
except requests.exceptions.ConnectionError:
print(f"Не удалось подключиться к Chrome (порт {debug_port}).")
print("Убедитесь, что Chrome запущен с ключом: chrome.exe --remote-debugging-port=9222")
if __name__ == "__main__":
get_chrome_tabs()
Как использовать:
chrome.exe --remote-debugging-port=9222
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4🤔2❤🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Основные возможности:
polars DataFrame
scikit-learn
pip install drawdata
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2🤨1
FastAPI
, Pydantic
2.0 и SQLAlchemy ORM с PostgreSQL с асинхронным драйвером asyncpg
.Стек:
asyncpg
— эффективный асинхронный клиент для взаимодействия с PostgreSQL.Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2🔥2
Ориентирован на обеспечение масштабируемости, поддержки чистой архитектуры и удобной разработки.
Основные характеристики:
pip install archipy
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2🔥2👍1
Starlette
и FastAPI
.Позволяет создавать полнофункциональные CRUD-интерфейсы для разных систем хранения данных, не ограничиваясь конкретными ORM или ODM, и предоставляет удобную админку, аналогичную
Flask-Admin
, но адаптированную под современный стек Python-API.Основные возможности:
pip install starlette-admin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥1
Основные возможности:
pip install you-get
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤🔥2
SABnzbd — это бинарный новсридер (Usenet-клиент), написанный на Python. Он автоматизирует процесс загрузки файлов с Usenet, значительно упрощая взаимодействие с этим протоколом.
Вместо того чтобы вручную скачивать, проверять, восстанавливать и распаковывать файлы, достаточно добавить NZB-файл — и
Основные возможности:
🔵 Автоматизация загрузок
🔵 Интуитивно понятный веб-интерфейс
🔵 Интеграция с популярными инструментами (Sonarr, Radarr, Lidarr и др.)
🔵 Поддержка RSS-лент
🔵 Многоязычный интерфейс
🔵 Многоуровневая настройка параметров загрузки
🔵 Поддержка нескольких серверов Usenet
🔵 Гибкая настройка через API и скрипты
📱 Репозиторий
➡️ Справочник Программиста. Подписаться
Вместо того чтобы вручную скачивать, проверять, восстанавливать и распаковывать файлы, достаточно добавить NZB-файл — и
SABnzbd
выполнит всю работу автоматически.Основные возможности:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Для конвертации изображения в ч/б в коде используется библиотека
Pillow
.pip install Pillow
from PIL import Image
# Открываем изображение
image = Image.open('input_image.jpg')
# Конвертируем в оттенки серого
gray_image = image.convert('L')
# Сохраняем результат
gray_image.save('output_image_pil.jpg')
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍2
Интегрирован с Remnawave версии 2.1.1 и предоставляет пользователям возможность приобретать подписки через Telegram, а также управлять ими.
Основные особенности:
Основные библиотеки:
aiogram
asyncpg
SQLAlchemy
pydantic
redis
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2🔥2
⚒️ dill — это надстройка над модулем
Основные особенности:
🔵 Расширяет возможности стандартного
🔵 Поддерживает сериализацию лямбд, вложенных функций и замыканий
🔵 Умеет сохранять исходный код функций и классов
🔵 Может сохранять и восстанавливать состояние интерактивной сессии
🔵 Позволяет передавать сложные объекты по сети
🔵 Имеет модуль
🔵 Поддерживает загрузку сохранённой сессии как модуля или словаря
➡️ Установка:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
pickle
в Python, разработанная для сериализации и десериализации широчайшего круга Python-объектов, включая сложные и интерактивные состояния, которые стандартный pickle не смог бы обрабатывать.Основные особенности:
pickle
dill.detect
для диагностики проблем сериализацииpip install dill
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2👍2🔥1
Основные особенности:
FastAPI
)pip install fastmcp
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Для сокращения ссылок в коде используется модуль
secrets
, а для копирования сгенерированного пароля в буфер обмена — pyperclip
.pip install pyperclip
import argparse
import secrets
import string
import pyperclip
AMBIG = set('O0Il1') # Определяем набор символов, которые могут выглядеть похожими (амбивалентные символы).
if __name__ == "__main__":
ap = argparse.ArgumentParser()
ap.add_argument('-l', '--length', type=int, default=16, # Указание длины пароля.
help='длина пароля (по умолчанию: 16)')
ap.add_argument('-d', '--digits', action='store_true', # Включать ли цифр в пароль.
help='включить цифры в пароль')
ap.add_argument('-s', '--symbols', action='store_true', # Включать ЛИ символов в пароль.
help='включить специальные символы в пароль')
ap.add_argument('--no-ambig', action='store_true',
help='убрать похожие символы (например, O, 0, I, l, 1)')
args = ap.parse_args()
# Инициализируем список 'alphabet' всеми буквами (строчными и заглавными).
alphabet = list(string.ascii_letters)
if args.digits:
alphabet += list(string.digits)
if args.symbols:
alphabet += list('!@#$%^&*()-_=+[]{};:,.<>?')
if args.no_ambig:
alphabet = [c for c in alphabet if c not in AMBIG]
# Генерируем пароль: выбираем случайные символы из 'alphabet' указанное количество раз (args.length)
# и объединяем их в одну строку.
pwd = ''.join(secrets.choice(alphabet) for _ in range(args.length))
pyperclip.copy(pwd) # Копируем сгенерированный пароль в буфер обмена.
print('Пароль скопирован в буфер: ', pwd)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥1🔥1