Python_Scripts
8.22K subscribers
1K photos
5 videos
674 files
1.54K links
Скрипты 💾 на Python 🐍
- боты 🛠
- парсеры📁
- чекеры🔍
- автоматизация🔧
- многое другое💻

Ваши предложения📝 @cmd_dark @CMD_Vega
Download Telegram
Dirty-Launderer-main.zip
766.4 KB
📍 Скрипт для защиты конфиденциальности

💻  ЯП:  Python 3.11+🐍
💾  Модули: python-telegram-bot, requests
📂  База данных: -

🚀 Скрипт Telegram-бот, который автоматически очищает URL-адреса от параметров отслеживания и предоставляет альтернативные варианты, обеспечивающие конфиденциальность, через такие сервисы, как Invidious, Nitter, Libreddit и другие.

Особенности:

🧹 Очистка URL : Автоматически удаляет параметры отслеживания (UTM, fbclid и т. д.)
👥 Поддержка групп : работает как в личных чатах, так и в групповых беседах.
⚙️ Настраиваемые параметры : выберите, какие службы и параметры следует очистить
🤫 Нулевое ведение журнала : не сохраняются пользовательские данные или очищенные URL-адреса
🏠 Возможность самостоятельного размещения : запустите собственный экземпляр для максимальной конфиденциальности
🌐 Поддержка нескольких сред : отдельные конфигурации для разработки и производства

📍 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️

#telegram

📍 Подпишись 📱 Python_Scripts❗️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥97👍4
🔥 Полезные библиотеки Python

msgspec

📌 msgspec — высокопроизводительная и малоизвестная библиотека для сериализации и валидации данных. Поддерживает форматы JSON и MessagePack и превосходит стандартные решения (например, json, pydantic) по скорости и удобству, включая двоичные данные и memoryview. Часто используется там, где важен low‑payload, высокая пропускная способность и строгая типизация.

📌 Особенности библиотеки:
🟠 Очень быстрая сериализация/десериализация JSON или MessagePack
🟠 Встроенный механизм msgspec.Struct — легкая альтернатива Pydantic для валидации
🟠 Отличается компактным двоичным представлением (MessagePack)
🟠 Подходит для межпроцессного обмена, сетевого взаимодействия, микросервисов с минимальными накладными расходами


⚙️ Установка:
pip install msgspec


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3🔥3
🔥 Полезные библиотеки Python

albumentations

📌 albumentations — это высокоскоростная и гибкая библиотека для аугментации изображений, созданная для глубокого обучения и компьютерного зрения. Она предоставляет широкий набор трансформаций, включая случайные обрезки, повороты, изменения яркости и контраста, а также поддержку масок и ключевых точек.

📌 Особенности библиотеки:
🟠Поддержка различных типов данных: изображения, маски, bounding boxes, ключевые точки.
🟠Высокая производительность благодаря использованию OpenCV.
🟠Простота интеграции с другими библиотеками, такими как PyTorch и TensorFlow.
🟠Широкий набор трансформаций с возможностью комбинирования их в пайплайны.


⚙️ Установка:
pip install albumentations


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥5👍4
💬 Auto File Organizer — скрипт на Python, который автоматически сортирует файлы в папке по расширениям, перемещая их в соответствующие подпапки.

📱 Python 3.7+
💾 Модули: os, shutil

📌 Auto File Organizer — простой помощник для автоматической сортировки файлов в одной папке. Например, все .jpg и .png идут в папку "Images", .pdf в "Documents", .mp3 — в "Music" и так далее. Удобно для упорядочивания загрузок или проектов.

👨‍💻 Код:
import os
import shutil

def organize_folder(path):
extensions = {
"Images": [".jpg", ".jpeg", ".png", ".gif"],
"Documents": [".pdf", ".docx", ".txt"],
"Music": [".mp3", ".wav", ".flac"],
"Videos": [".mp4", ".avi", ".mkv"],
}
for filename in os.listdir(path):
filepath = os.path.join(path, filename)
if os.path.isfile(filepath):
for folder, exts in extensions.items():
if any(filename.lower().endswith(ext) for ext in exts):
target_folder = os.path.join(path, folder)
os.makedirs(target_folder, exist_ok=True)
shutil.move(filepath, os.path.join(target_folder, filename))
print(f"Переместил {filename} -> {folder}")
break

if __name__ == "__main__":
organize_folder("C:/Users/user/Downloads")


📌 Что делает:
🟠 Сканирует папку
🟠 Определяет расширение файла
🟠 Перемещает файл в подпапку по типу (создаёт папку, если нужно)


#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
110👍5🔥5
UDP Latency Tester — скрипт уровня one-shot, измеряющий задержку по UDP между двумя узлами сети

📱 Python 3.8+
💾 Модули: socket, time, argparse

📌 UDP Latency Tester — лёгкий скрипт в одном файле, который посылает UDP-пакеты на сервер, измеряет одностороннюю задержку (one‑way latency) или round‑trip (RTT) и выводит статистику: min, max, среднее, стандартное отклонение — подходит для диагностики сети, тестирования IoT-устройств или симуляции нестабильных каналов. Позволяет гибко настраивать размер пакетов, частоту отправки и длительность работы.

🧑‍💻 Пример использования (CLI):
# Запуск сервера:
python udp_latency.py --serve --ip 0.0.0.0 --port 9999

# Запуск клиента (one-way latency):
python udp_latency.py --client --ip 192.168.1.10 --port 9999 \
--freq 10 --size 1024 --time 30 --rtt False


📌 Скрипт:
🟠 --serve запускает UDP‑сервер, ловящий пакеты и (для RTT) присылающий ответ
🟠 client подключается к серверу и отправляет UDP‑пакеты указанной частоты (--freq) и размера (--size)
🟠 Собирает и выводит статистику по задержке
🟠 Односторонняя и круговая задержка легко переключаются флагом --rtt


#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥6👍3
🔥 Полезные библиотеки Python

dask

📌 dask — мощная и малоизвестная библиотека для параллельных вычислений в Python. Она расширяет привычные API NumPy, Pandas и scikit-learn, позволяя запускать код на многопоточной системе или в распределённом кластере — без переписывания логики под MapReduce или Spark.

📌 Особенности библиотеки:
🟠 Масштабирование: от одного ядра до всего кластера.
🟠 Совместимый синтаксис: DataFrame, Array, ML API аналогичны знакомым библиотекам.
🟠 Отличается удобством и гибкостью: можно начать с локальных расчётов, а затем перенести тот же код в прод.
🟠 Используется крупными компаниями: Walmart, Nvidia, NASA, Capital One и другими.
🟠 Открытый исходник, активное развитие, последний релиз был в феврале 2024.


⚙️ Установка:
pip install dask[complete]


(пакет с зависимостями для полного функционала — параллельные файловые системы, SQL, ML и др.)

🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65🔥4
Image Resizer — скрипт, который автоматически изменяет размер всех изображений в указанной папке, сохраняя пропорции. Подходит для подготовки изображений к публикации в соцсетях, на сайте или для уменьшения их размера перед загрузкой.

📱 Python 3.8+
💾 Модули: os, PIL (Pillow), argparse

📌 Image Resizer:
🟠Принимает папку с изображениями
🟠Изменяет размер каждого изображения до заданной ширины, сохраняя пропорции
🟠Сохраняет изменённые изображения в новую папку


📌 Пример кода:
import os
from PIL import Image
import argparse

def resize_images(input_folder, output_folder, width):
os.makedirs(output_folder, exist_ok=True)
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
img_path = os.path.join(input_folder, filename)
img = Image.open(img_path)
aspect_ratio = img.height / img.width
height = int(width * aspect_ratio)
resized_img = img.resize((width, height))
resized_img.save(os.path.join(output_folder, filename))
print(f" {filename} resized")
else:
print(f" {filename} is not an image")

if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('input_folder', help='Папка с изображениями')
parser.add_argument('output_folder', help='Папка для сохранения изменённых изображений')
parser.add_argument('width', type=int, help='Ширина изменённых изображений')
args = parser.parse_args()
resize_images(args.input_folder, args.output_folder, args.width)


📌 Установка зависимостей:
pip install pillow


📌 Примечания:
🟠Скрипт сохраняет изменённые изображения в указанную папку
🟠Использует библиотеку Pillow для обработки изображений
🟠Подходит для массовой обработки изображений


#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍129🔥5😁1
🔥 Полезные библиотеки Python

rustworkx

📌 rustworkx — высокопроизводительная библиотека для работы с графами в Python, написанная на Rust. Она совместима с API networkx, но обеспечивает значительно лучшую скорость и память при обработке больших графов — идеально для случаев, где NetworkX тормозит.

📌 Особенности библиотеки:
🟠 Быстрые операции с графами (добавление вершин/рёбер, поиск кратчайшего пути, центральности и др.)
🟠 API-поддержка NetworkX, что упрощает миграцию
🟠 Поддерживает взвешенные, ориентированные и неориентированные графы
🟠 Подходит для задач на больших данных: социальные сети, road-сети, алгоритмы графовой оптимизации
🟠 Написана на Rust с безопасностью памяти и отличной производительностью при массовом использовании


⚙️ Установка:
pip install rustworkx


📌 Примечания:
🟠 rustworkx.PyDiGraph() — лёгкий и быстрый граф
🟠 Dijkstra используется из ядра Rust — работает в разы быстрее, чем NetworkX


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64🔥4
🔥 Полезные библиотеки Python

polars

📌 polars — молниеносная DataFrame‑библиотека на Rust с API для Python, ALTERNATIVE pandas. Она до 5‑10× быстрее и использует меньше памяти, благодаря ленивым вычислениям и параллельному исполнению.

📌 Особенности библиотеки:
🟠Быстрее pandas: анализ показывает, что Polars расходует до 8× меньше ОЗУ и в 5–10× быстрее на типичных задачах .
🟠Ленивые вычисления и оптимизатор запросов, минимизирующий ненужные вычисления .
🟠Поддерживает DataFrame, LazyFrame, выражения, SQL‑подобный синтаксис.
🟠Встроенная многопоточность и низкий расход памяти за счёт Rust-ядра.
🟠Идеальна для ETL, анализа больших наборов данных, обработки CSV/Parquet/JSON, построения пайплайнов NLP/ML.


⚙️ Установка:
pip install polars


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53👍2🎉1
💬 AI Text Summarizer — скрипт, который принимает текстовый файл, отправляет его в OpenAI API и возвращает краткое резюме. Полезен для быстрого обзора длинных статей, докладов, логов.

📱 Python 3.8+
💾 Модули: openai, argparse, os

📌 AI Text Summarizer:
🟠Принимает путь к .txt файлу
🟠Использует OpenAI Python SDK для вызова модели GPT-3.5/4
🟠Возвращает краткое резюме на основе prompt-инструкции
🟠Подходит для автоматизации обзора документов, email-рассылок, отчетов


🧑‍💻 Пример использования (CLI):
python summarize.py --input article.txt --model gpt-3.5-turbo


👨‍💻 Пример кода:
import os
import openai
import argparse

def summarize_file(input_path, model="gpt-3.5-turbo"):
with open(input_path, 'r', encoding='utf-8') as f:
text = f.read()
openai.api_key = os.getenv("OPENAI_API_KEY")
resp = openai.ChatCompletion.create(
model=model,
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": f"Summarize this text:\n\n{text}"}
]
)
return resp.choices[0].message.content.strip()

if __name__ == "__main__":
p = argparse.ArgumentParser()
p.add_argument("--input", required=True, help="Путь к текстовому файлу")
p.add_argument("--model", default="gpt-3.5-turbo", help="Модель OpenAI")
args = p.parse_args()
summary = summarize_file(args.input, args.model)
print("📄 Summary:\n", summary)


📌 Установка зависимостей:
pip install openai


📌 Примечания:
🟠Требуется переменная окружения OPENAI_API_KEY
🟠Позволяет быстро получать краткое резюме больших текстов
🟠Можно интегрировать в email-ботов, аналитические пайплайны или фоновую обработку документов


#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥4👍3😁2
System Resource Monitor — скрипт, который в режиме реального времени собирает и выводит в терминал использование CPU, памяти, дисков и сетевого трафика. Отлично подходит для контроля ресурсов при нагрузке, мониторинга процессов или быстрой диагностики.

📱 Python 3.8+
💾 Модули: psutil, time, argparse (стандартная библиотека)

📌 System Resource Monitor — лёгкий CLI-инструмент, который следит за ключевыми метриками системы с удобным интервалом обновления. Основан на популярных примерах использования psutil для мониторинга ресурсов.

👨‍💻 Пример использования:
python sys_monitor.py --interval 2  # обновление каждые 2 секунды


🧑‍💻 Код скрипта:
import psutil
import time
import argparse

def human_bytes(n):
for unit in ['B','KB','MB','GB','TB']:
if n < 1024:
return f"{n:.1f}{unit}"
n /= 1024
return f"{n:.1f}PB"

def monitor(interval):
try:
while True:
cpu = psutil.cpu_percent(interval=None)
mem = psutil.virtual_memory()
disk = psutil.disk_usage('/')
net = psutil.net_io_counters()
print(f"CPU: {cpu}% | MEM: {mem.percent}% ({human_bytes(mem.used)}/{human_bytes(mem.total)}) | "
f"Disk: {disk.percent}% | Net: up {human_bytes(net.bytes_sent)} / down {human_bytes(net.bytes_recv)}")
time.sleep(interval)
except KeyboardInterrupt:
print("\n🛑 Monitor stopped.")

if __name__ == "__main__":
p = argparse.ArgumentParser()
p.add_argument('--interval', type=float, default=1.0, help='Interval in seconds')
args = p.parse_args()
monitor(args.interval)


📌 Что делает скрипт:
🟠Считывает нагрузку CPU (cpu_percent)
🟠Получает состояние памяти (virtual_memory)
🟠Собирает usage дисков (disk_usage)
🟠Анализирует сетевой трафик (net_io_counters)
🟠Выводит данные обновляемым прямо в терминале
🟠Легко расширяется и включает перехват Ctrl+C


⚙️ Установка зависимостей:
pip install psutil


📌 Где пригодится:
🟠Быстрый мониторинг серверов и локальной машины
🟠Слежение за утечками памяти или перегрузкой CPU
🟠Инструмент для DevOps, отладки и профилирования кода


#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍4🔥3
🔥 Полезные библиотеки Python

shed-skin

📌 shed-skin — экспериментальный транслятор из "узкого" Python (статически типизированного subset) в C++. Он компилирует код на Python 3.8+ в эффективный самодостаточный бинарник или расширение. Отличный инструмент, если нужно ускорить Python‑код без переписывания всего проекта на C++.

📌 Особенности библиотеки:
🟠 Преобразует ограниченный Python (аннотации типов, без dynamic features) в нативный C++
🟠 Ускорение исполнения — особый интерес для вычислительных задач, где важна скорость
🟠 Поддержка около 20 стандартных модулей (random, itertools, re и др.)
🟠 Кроссплатформенность: Linux, macOS, Windows
🟠 Разрешённая лицензия — GPLv3/BSD/MIT, активная разработка: последний релиз был 22 июня 2024


⚙️ Установка:
pip install shed-skin


📌 shed-skin — идеальный, если хочешь ускорить код, оставляя Python‑синтаксис, без глубокого погружения в C/C++.

🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥5👍4
📝 Локальный переводчик документов и текста (PDF, DOCX, TXT)

📌 Где применимо?
🟠 Перевод технических документов, статей, инструкций
🟠 Работа в оффлайн-средах (военные, научные проекты, закрытые офисы)
🟠 Перевод без утечки данных (без отправки в интернет)
🟠 Автоперевод архивов


🧑‍💻 Код скрипта:
import argostranslate.package, argostranslate.translate
import pdfplumber
import docx2txt
import os

def load_model(from_code="ru", to_code="en"):
installed_languages = argostranslate.translate.get_installed_languages()
from_lang = next(filter(lambda l: l.code == from_code, installed_languages), None)
to_lang = next(filter(lambda l: l.code == to_code, installed_languages), None)
return from_lang.get_translation(to_lang) if from_lang and to_lang else None

def extract_text(file_path):
if file_path.endswith(".pdf"):
with pdfplumber.open(file_path) as pdf:
return "\n".join(page.extract_text() or "" for page in pdf.pages)
elif file_path.endswith(".docx"):
return docx2txt.process(file_path)
elif file_path.endswith(".txt"):
with open(file_path, "r", encoding="utf-8") as f:
return f.read()
else:
raise ValueError("Неподдерживаемый формат")

def save_text(text, out_path):
with open(out_path, "w", encoding="utf-8") as f:
f.write(text)

# Пример использования
file_path = "example_ru.pdf"
out_path = "translated_en.txt"
translation = load_model("ru", "en")
text = extract_text(file_path)
translated = translation.translate(text)
save_text(translated, out_path)
print(f" Перевод сохранён: {out_path}")


#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍158
🔥 Полезные библиотеки Python

rpyc

📌 RPyC (Remote Python Call) — это мощная библиотека для удалённого вызова процедур и распределённых вычислений. Она позволяет делать RPC-программы, где клиент и сервер могут вызывать функции друг друга как локальные — без генерации шаблонов, IDL, или сложных настроек.

📌 Особенности библиотеки:
🟠 Симметричность: клиент и сервер могут выступать обе роли, вызывать функции и обмениваться объектами.
🟠 Прозрачность: удалённые функции, классы и объекты выглядят как локальные.
🟠 Поддержка синхронных и асинхронных вызовов (AsyncResult как промисы).
🟠 Исключения передаются по сети как в локальном коде — удобно для отладки.
🟠 Удобна для распределённых Python-приложений, отладочных оболочек, удалённого управления, микросервисов, интерактивных shell-сессий.


⚙️ Установка:
pip install rpyc


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥42🥰1
📌 Simple TCP Port Scanner — лёгкий и понятный инструмент для проверки открытых TCP‑портов на хосте. Отличный для диагностики, быстрого аудита или начальной разведки.

📱 Python 3.8+
💾 Модули: socket, sys, argparse, datetime (все стандартные)

📌 Simple TCP Port Scanner:
- Спрашивает адрес хоста (IP или домен) и диапазон портов
- Использует socket.connect_ex() для проверки каждого порта
- Печатает список открытых портов и время выполнения
- Основан на примерах с TechTarget и GeeksforGeeks


🧑‍💻 Пример использования (CLI):
python port_scanner.py --host example.com --start 1 --end 1024


👨‍💻 Код скрипта:
import socket
import sys
import argparse
from datetime import datetime

def scan_ports(host, start, end, timeout=0.5):
try:
target = socket.gethostbyname(host)
except socket.gaierror:
print(" Не удалось разрешить хост.")
sys.exit(1)

print(f"=== Сканирование {host} ({target}) портов {start}–{end} ===")
t0 = datetime.now()
open_ports = []

for port in range(start, end + 1):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(timeout)
result = sock.connect_ex((target, port))
if result == 0:
print(f"✔️ Порт {port} открыт")
open_ports.append(port)
sock.close()

t1 = datetime.now()
print(f"=== Сканирование завершено за {t1 - t0} (открыто: {len(open_ports)}) ===")
if open_ports:
print("Открытые порты:", open_ports)

def main():
parser = argparse.ArgumentParser(description="Простой TCP порт-сканнер")
parser.add_argument("--host", required=True, help="IP или хостнейм для сканирования")
parser.add_argument("--start", type=int, default=1, help="Начальный порт")
parser.add_argument("--end", type=int, default=1024, help="Конечный порт")
args = parser.parse_args()
scan_ports(args.host, args.start, args.end)

if __name__ == "__main__":
main()


📌 Скрипт:
- Разрешает домен в IP
- Проверяет диапазон портов методом connect_ex()
- Использует параметр timeout, чтобы не зависать
- Показывает открытые порты и время сканирования


#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4
🔥 Полезные библиотеки Python

cupy

📌 cupy — это высокопроизводительная библиотека для численных вычислений, совместимая с API NumPy, но оптимизированная для работы на GPU (CUDA и AMD ROCm). Она позволяет ускорить операции над массивами в десятки раз без изменения привычного синтаксиса NumPy, идеально подходит для ML, научных вычислений и обработки больших данных.

📌 Особенности библиотеки:
🟠 Поддерживает многомерные массивы, линейную алгебру, FFT и статистику, как в NumPy;
🟠 GPU‑ускорение: подходит для ускорения ML‑подготовки и вычислений;
🟠 Совместимость: безболезненная замена import numpy as np → import cupy as cp;
🟠 Поддержка CUDA и AMD ROCm, активно развивается (версия 13.3.0, август 2024);
🟠 Используется в проектах NVIDIA RAPIDS, Chainer и др..


⚙️ Установка:
pip install cupy


📌 Почему стоит выбрать cupy:
- Используется привычный API NumPy, но ускоряется за счёт GPU;
- Отличный выбор для подготовки данных, вычислений и ML‑задач;
- Значительное ускорение для операций над большими массивами.


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥43
🔥 Полезные библиотеки Python

sweetviz

📌 sweetviz — это замечательная библиотека для автоматического генерации отчётов по разведочному анализу данных (EDA). Она создаёт интерактивный HTML-файл с визуализациями, сравнениями, статистикой и даже возможностью сравнить тренировочную и тестовую выборки — всё в пару строк кода!

📌 Особенности библиотеки:
🟠 Генерация полного EDA-отчёта одним вызовом (analyze()), включая сводную статистику по всем колонкам;
🟠 Поддержка сравнения двух таблиц — полезно для выявления смещений между train/test;
🟠 Автоматические красивые графики — распределения, зависимости, статистические сравнения;
🟠 Всё хранится в самостоятельном .html — удобно делиться отчётами коллегам.


⚙️ Установка:
pip install sweetviz


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥3
🔥 Полезные библиотеки Python

icecream

📌 icecream — удобный и малоизвестный инструмент для отладки, заменяющий привычный print(). Он автоматически выводит имя переменной, её значение и контекст (файл:строка) — всё это улучшает читаемость и ускоряет поиск багов. В 2025 году становится незаменимым в повседневной отладке.

📌 Особенности библиотеки:
🟠 Автоматическое именование переменных и вывод контекста (ic(x, y, z) → ic| x: 1, y: 2, z:3)
🟠 Цветной и форматированный вывод
🟠 Поддержка фильтрации, включения/отключения
🟠 Работает быстрее и удобнее, чем ручной print()
🟠 Лёгкая установка, BSD‑лицензия, совместимость с Python 3.7+


⚙️ Установка:
pip install icecream


📌 icecream превратит вашу отладку в удовольствие — меньше шума, больше контекста, быстрее результаты.

🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍31🥰1
Directory Watcher — скрипт для реального времени мониторинга изменений в папке. Идеален для автоматического реагирования: запускать сборку, копировать файлы, логировать события и т.д. Работает кросс-платформенно (Linux/macOS/Windows).

📱 Python 3.8+
💾 Модули: watchdog, argparse, time (стандартная библиотека)

📌 Directory Watcher:
- Мониторит создание, изменение, удаление и перемещение файлов
- Позволяет указать директорию и включить вложенные папки (--recursive)
- Поддерживает фильтрацию по расширению файлов (например, только .py)
- Основан на библиотеке watchdog, которая использует platform-specific механизмы (inotify, Windows API)


🧑‍💻 Пример использования (CLI):
python dir_watcher.py --path ./my_folder --recursive --ext .txt,.log


👨‍💻 Код скрипта:
import time, argparse
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler

class Handler(FileSystemEventHandler):
def __init__(self, exts):
self.exts = tuple(exts)

def dispatch(self, event):
if event.is_directory: return
if self.exts and not event.src_path.endswith(self.exts): return
super().dispatch(event)

def on_created(self, event):
print(f"🟢 Created: {event.src_path}")

def on_modified(self, event):
print(f"🟡 Modified: {event.src_path}")

def on_deleted(self, event):
print(f"🔴 Deleted: {event.src_path}")

def on_moved(self, event):
print(f"🔁 Moved: {event.src_path} → {event.dest_path}")

def main():
parser = argparse.ArgumentParser(description="Directory Watcher")
parser.add_argument("--path", required=True, help="Папка для мониторинга")
parser.add_argument("--recursive", action="store_true", help="Сканировать вложенные папки")
parser.add_argument("--ext", default="", help="Фильтр по расширениям (через запятую)")
args = parser.parse_args()

exts = [e.strip() for e in args.ext.split(",") if e.strip()]
handler = Handler(exts)
observer = Observer()
observer.schedule(handler, args.path, recursive=args.recursive)
observer.start()
print(f"🚀 Monitoring '{args.path}' (recursive={args.recursive}, exts={exts})")

try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()

if __name__ == "__main__":
main()


📌 Установка зависимости:
pip install watchdog


📌 Где пригодится:
- Автоматический запуск сборки/тестов при изменении файлов
- Синхронизация или обработка новых логов/данных
- Автоматизация задач DevOps, CI/CD, генерации статических сайтов и т.п.


#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥2
💬 Google Image Downloader — скрипт, который скачивает изображения по запросу с Google и сохраняет их в папку.

📱 Python 3.8+
💾 Модули: requests, bs4 (BeautifulSoup), os

📌 Google Image Downloader — простой скрипт, который принимает ключевое слово, делает запрос к Google Images, парсит src у тегов <img> и скачивает изображения по этим ссылкам. Отличный вариант для массового создания датасетов или сбора изображений для анализа.

👨‍💻 Код:
import os
import requests
from bs4 import BeautifulSoup

def download_google_images(query, folder="images", limit=10):
os.makedirs(folder, exist_ok=True)
url = "https://www.google.com/search"
params = {"q": query, "tbm": "isch"}
headers = {"User-Agent": "Mozilla/5.0"}
resp = requests.get(url, params=params, headers=headers)
soup = BeautifulSoup(resp.text, "html.parser")
imgs = soup.find_all("img")[:limit]

for i, img in enumerate(imgs, 1):
src = img.get("src")
if not src:
continue
img_data = requests.get(src).content
path = os.path.join(folder, f"{query.replace(' ', '_')}_{i}.jpg")
with open(path, "wb") as f:
f.write(img_data)
print(f" Скачал: {path}")

if __name__ == "__main__":
download_google_images("cats", limit=5)


📌 Скрипт:
🟠 Делает GET-запрос к Google Images с указанным ключевым словом
🟠 Парсит HTML через BeautifulSoup, берёт src первых <img>
🟠 Скачивает картинки по ссылке и сохраняет их в папку images


#скрипты
🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥3