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

Ваши предложения📝 @cmd_dark @CMD_Vega
Download Telegram
MD2PDF Converter — CLI-утилита, которая преобразует Markdown-файлы или папки с ними в PDF, поддерживает единичное преобразование, пакеты и объединение. Работает на UNIX-системах — удобно для документации, резюме, статей.

📱 Python 3+
💾 Модули: markdown, pdfkit, argparse, os, re (все через requirements.txt), плюс внешняя утилита wkhtmltopdf

📌 MD2PDF Converter:
- Принимает на вход один .md, папку с .md или папку, из которой собирает и объединяет все Markdown-файлы
- Генерирует PDF-файл(ы), сохраняя стиль через CSS
- Поддерживает указание CSS-файла для кастомного оформления
- Использует wkhtmltopdf для преобразования HTML в PDF


👨‍💻 Пример использования (CLI):
# Один файл
md2pdf input.md output.pdf

# Папка с файлами
md2pdf ./markdown_folder/

# Ваша тема оформления через CSS
md2pdf --css style.css docs/ docs/output/


⚙️ Установка:
git clone https://github.com/soumildatta/MD2PDF
cd MD2PDF
pip install -r requirements.txt
# Установите wkhtmltopdf через пакетный менеджер (apt/brew)


🔎 Основан на репозитории soumildatta/MD2PDF с логикой пакетной обработки Markdown-файлов

#скрипты

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

DuckDB

📌 DuckDB — это встроенная OLAP-база данных, работающая прямо в процессе Python. Она обеспечивает SQL-запросы с высокой производительностью над DataFrame и позволяет выполнять быстрый аналитический SQL прямо в Jupyter или скриптах — не требуя отдельного сервера.

📌 Особенности библиотеки:
🟠 Поддерживает SQL-запросы над Pandas/Parquet/CSV без поднятия сервера;
🟠 Быстрая аналитика встроенного уровня OLAP — хороша для больших данных;
🟠 Минимальные зависимости, лёгкий в установке и запуске;
🟠 Интеграция с Python — можно смешивать SQL и DataFrame API.


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍42
Clipboard Event Listener — скрипт, который реагирует на изменения в буфере обмена, считывает текст, файлы или изображения и выполняет пользовательские действия. Отлично подходит для создания авто‑сохранения скриншотов, логирования скопированного текста или авто‑загрузки новых файлов.

📱 Python 3.8+
💾 Модули: clipboard_monitor, Pillow, argparse

📌 Clipboard Event Listener использует библиотеку clipboard-monitor (с поддержкой текстовых, файловых и графических форматов) и запускает функцию-обработчик при каждом обновлении.

🧑‍💻 Пример использования (CLI):
python clip_listener.py --save-images ./screenshots


👨‍💻 Код скрипта:
import clipboard_monitor
import argparse
from PIL import ImageGrab
from pathlib import Path
import datetime

def on_text(text):
print("✉️ Text copied:", text)

def on_files(files):
print("📁 Files copied:", files)

def on_image():
img = ImageGrab.grabclipboard()
if not img:
return
timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
outdir = args.save_images
Path(outdir).mkdir(parents=True, exist_ok=True)
path = Path(outdir) / f"screenshot_{timestamp}.png"
img.save(path)
print("🖼 Saved image to", path)

if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Clipboard Event Listener")
parser.add_argument("--save-images", default=None,
help="Папка для сохранения скриншотов из буфера обмена")
args = parser.parse_args()

# Регистрируем обработчики
clipboard_monitor.on_text(on_text)
clipboard_monitor.on_files(on_files)
if args.save_images:
clipboard_monitor.on_image(on_image)

print("🚀 Listening for clipboard changes...")
clipboard_monitor.wait()


📌 Скрипт:
- Слушает изменения буфера обмена (clipboard_monitor.wait())
- При копировании текста — печатает его, при копировании файлов — выводит список
- При копировании изображения — сохраняет скриншот в указанную папку
- Универсален благодаря поддержке текстов, файлов и изображений


⚙️ Установка зависимости:
pip install clipboard-monitor Pillow


🔗 Использует лёгкую библиотеку clipboard_monitor для обработки буфера обмена

#скрипты

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

pytsk3

📌 pytsk3 — это Python-обёртка для The Sleuth Kit (TSK) — набора инструментов для цифровой криминалистики и анализа файловых систем.

📌 Особенности библиотеки:
🟠Доступ к образам дисков (raw, EWF, VMDK и т.д.)
🟠Чтение NTFS, FAT, exFAT, EXT, HFS+ и других ФС
🟠Получение информации о файлах, метаданных, удалённых данных
🟠Используется в форензике, OSINT и анализе вредоносных носителей

pip install pytsk3


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3👍2
Currency Converter CLI — скрипт для быстрого конвертирования валют прямо из терминала с использованием онлайн API.

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

📌 Currency Converter CLI:
- Делает GET-запрос к открытым API (например, Fixer или ExchangeRate-API)
- Принимает сумму, исходную и целевую валюту из аргументов командной строки
- Возвращает конвертированную сумму с текущим курсом


🧑‍💻 Пример использования (CLI):
python currency_converter.py --amount 100 --from USD --to EUR
# Вывод:
# 100 USD = 90.13 EUR


👨‍💻 Код скрипта:
import requests
import argparse

API_KEY = "YOUR_API_KEY" # зарегистрируйтесь и получите API-ключ

def convert(amount, frm, to):
url = f"https://v6.exchangerate-api.com/v6/{API_KEY}/latest/{frm}"
resp = requests.get(url)
data = resp.json()
rate = data["conversion_rates"].get(to)
if rate:
print(f"{amount} {frm} = {round(amount * rate, 4)} {to}")
else:
print(f" Валюта {to} не поддерживается.")

if __name__ == "__main__":
p = argparse.ArgumentParser()
p.add_argument("--amount", type=float, required=True)
p.add_argument("--from", dest="frm", required=True)
p.add_argument("--to", required=True)
args = p.parse_args()
convert(args.amount, args.frm.upper(), args.to.upper())


📌 Основан на примерах с ExchangeRate-API и учебниках по API-конвертерам ([turn0search0]).

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


📌 Где пригодится:
- Быстрые финансовые расчёты через CLI
- Подготовка данных для отчетов и ETL-процессов
- Интеграция в скрипты и автоматизацию валютных операций


#скрипты

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

CapyMOA

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

📌 Особенности библиотеки:
🟠 Поддержка онлайн-обучения: обновляет модель инкрементально для каждого нового наблюдения — без переобучения с нуля.
🟠 Архитектура гибкая и расширяемая — интеграция с MOA (написание на Java) и PyTorch возможна.
🟠 Оптимизирована для высоких скоростей потоков: подходит для сценариев с большими нагрузками (IoT, финансовые потоки, телеметрия).
🟠 Открытый код и современный подход: активно развивается с начала 2025 года.


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


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

#библиотеки

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

capstone

📌 capstone — это дизассемблер-библиотека на C с Python-обёрткой, поддерживающая множество архитектур. Она позволяет разбирать машинный код в человекочитаемые ассемблерные инструкции.

📌 Особенности библиотеки:
🟠Поддержка x86, x86_64, ARM, MIPS, PowerPC, SPARC и др.
🟠Очень быстрый и модульный
🟠Работает на Windows, Linux и macOS
🟠Полезен для реверс-инжиниринга, CTF и анализа малвари


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥3👍2
Website Uptime Monitor — лёгкий CLI-скрипт для мониторинга доступности одного или нескольких сайтов. Проверяет HTTP-коды, измеряет задержку и отправляет уведомление (например, в Telegram) при падении серверов.

📱 Python 3.8+
💾 Модули: requests, time, argparse, datetime, os

📌 Website Uptime Monitor:
Делает запросы на указанные URL через заданный интервал
Логирует скорость ответа и HTTP-статусы
При неоднократных ошибках отправляет уведомление (например, в Telegram)
Подходит для круглосуточного мониторинга API, сайтов и веб-сервисов


🧑‍💻 Пример использования (CLI):
python uptime_monitor.py --urls https://example.com,https://api.example.com \
--interval 60 --retries 3 --notify-telegram


👨‍💻 Код скрипта:
import requests, time, argparse, datetime, os

def alert_telegram(bot_token, chat_id, msg):
url = f"https://api.telegram.org/bot{bot_token}/sendMessage"
requests.post(url, data={"chat_id": chat_id, "text": msg})

def monitor(urls, interval, retries, bot_token=None, chat_id=None):
status = {u: True for u in urls}
while True:
for u in urls:
try:
r = requests.get(u, timeout=10)
ok = r.status_code == 200
resp = f"{r.status_code}, {r.elapsed.total_seconds():.2f}s"
except Exception as e:
ok = False
resp = f"Error: {e}"
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print(f"[{now}] {u} → {resp}")
if not ok and status[u]:
status[u] = False
msg = f"⚠️ {u} is DOWN at {now}"
if bot_token and chat_id:
alert_telegram(bot_token, chat_id, msg)
if ok and not status[u]:
status[u] = True
msg = f" {u} is UP again at {now}"
if bot_token and chat_id:
alert_telegram(bot_token, chat_id, msg)
time.sleep(interval)

if __name__ == "__main__":
p = argparse.ArgumentParser()
p.add_argument("--urls", required=True, help="Comma-separated URLs")
p.add_argument("--interval", type=int, default=60)
p.add_argument("--retries", type=int, default=3)
p.add_argument("--bot-token", default=os.getenv("TELEGRAM_TOKEN"))
p.add_argument("--chat-id", default=os.getenv("TELEGRAM_CHAT_ID"))
args = p.parse_args()
urls = [u.strip() for u in args.urls.split(',')]
monitor(urls, args.interval, args.retries, args.bot_token, args.chat_id)


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


#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍4🔥3
🖥 Пример скрипта для резервного копирования базы данных

💬 В этом примере покажу, как с помощью Python автоматизировать процесс резервного копирования базы данных MySQL в ваших DevOps-проектах.

📌 Для создания резервных копий мы будем использовать системную утилиту mysqldump, которую вызовем из Python через модуль subprocess. Такой подход надёжен и широко используется на практике.

import os
import time
import subprocess

def backup_database(host, username, password, database, output_dir):
timestamp = time.strftime('%Y%m%d_%H%M%S')
output_file = os.path.join(output_dir, f'{database}_backup_{timestamp}.sql')

cmd = [
'mysqldump',
f'-h{host}',
f'-u{username}',
f'-p{password}',
database
]

try:
with open(output_file, 'w') as f:
subprocess.run(cmd, stdout=f, check=True)
print(f'Database backup saved to {output_file}')
except subprocess.CalledProcessError as e:
print(f'Error during backup: {e}')

if __name__ == '__main__':
db_host = 'localhost'
db_username = 'your_db_username'
db_password = 'your_db_password'
db_name = 'your_database_name'
backup_output_dir = '/path/to/backup_directory'

backup_database(db_host, db_username, db_password, db_name, backup_output_dir)


☝️ В итоге скрипт создаст файл с дампом базы в указанной папке, добавив к имени текущую дату и время.

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74😁2
Server-Monitoring-Telegram-Bot-System-main.zip
12.6 MB
📍 Скрипт удаленного мониторинга и управления вашим сервером Linux.

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

🚀 Скрипт полностью контейнерное приложение, которое предоставляет веб-интерфейс и бота Telegram для мониторинга и управления вашим сервером Linux. Оно предоставляет уведомления в реальном времени о доступе SSH/SFTP, использовании системных ресурсов, подключении к Интернету и управлении контейнерами Docker, загрузке и выгрузке файлов с бота на сервер и наоборот. Решение позволяет осуществлять как удаленный мониторинг, так и управление непосредственно из браузера или Telegram.

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

#telegram

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

Deepchecks

📌 Deepchecks — это мощная Python-библиотека для тестирования и валидации моделей и данных машинного обучения. Она помогает выявлять проблемы на всех этапах ML-пайплайна: от качества данных и дрейфа до метрик модели, overfitting/underfitting и несогласованности данных.

📌 Особенности библиотеки:
🟠 Комплексные проверки качества данных: пропущенные значения, дисбаланс, выбросы;
🟠 Валидирует модель: сравнивает с базовой, анализирует разницу в метриках;
🟠 Имеет готовые чек-листы для pre-deployment и мониторинга production;
🟠 Интерактивные HTML-отчёты — удобно делиться с коллегами;
🟠 Основана на популярных библиотеках (Pandas, scikit-learn, PyTorch), но предоставляет низкоуровневую надежность и силу.


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥4👍3
Website Change Monitor — скрипт, который автоматически отслеживает изменения на веб-странице и уведомляет тебя при каждом смене содержимого. Отлично подходит для слежки за динамическими страницами, продуктами, вакансиями и другими изменяемыми ресурсами.

📱 Python 3.8+
💾 Модули: requests, BeautifulSoup, hashlib, time, argparse

📌 Как работает:
🟠Загружает HTML указанной страницы
🟠Создаёт хэш содержимого
Периодично проверяет URL, сравнивает текущий хэш с предыдущим
🟠При обнаружении изменений выводит уведомление в терминал
🟠Основан на гайде "Python Script to Monitor Website Changes" (Medium)


🧑‍💻 Пример использования (CLI):
python site_monitor.py --url https://example.com --interval 60


👩‍💻 Код скрипта:
import requests
from bs4 import BeautifulSoup
import hashlib
import time
import argparse

def get_hash(url):
resp = requests.get(url, timeout=10)
resp.raise_for_status()
soup = BeautifulSoup(resp.text, 'html.parser')
text = soup.get_text()
return hashlib.md5(text.encode('utf-8')).hexdigest()

def monitor(url, interval):
last_hash = None
print(f"🚀 Monitoring {url} every {interval}s...")
while True:
try:
current_hash = get_hash(url)
if last_hash is None:
last_hash = current_hash
elif current_hash != last_hash:
print(f"🔔 Change detected at {time.strftime('%Y-%m-%d %H:%M:%S')}")
last_hash = current_hash
except Exception as e:
print(f" Error: {e}")
time.sleep(interval)

if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Website Change Monitor")
parser.add_argument("--url", required=True, help="URL to monitor")
parser.add_argument("--interval", type=int, default=60, help="Check interval in seconds")
args = parser.parse_args()
monitor(args.url, args.interval)


📌 Скрипт:
🟠Получает текст страницы через requests + BeautifulSoup
🟠Хэширует содержимое для обнаружения изменений
🟠Работает в бесконечном цикле с интервалом
🟠Лёгкий, без сложностей и зависимостей помимо BeautifulSoup


⚙️ Установка зависимости:
pip install requests beautifulsoup4


#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3
telegram_gemini_bot-master.zip
49.6 KB
🤖 Telegram Gemini Bot

😊 Многофункциональный Telegram-бот с поддержкой текста, голоса, изображений и файлов, использующий Google Gemini AI и другие сервисы.

📌 Основные возможности:
🟠Ответы с ИИ (Google Gemini).
🟠Распознавание речи и преобразование голосовых сообщений в текст.
🟠Анализ изображений (OCR и Vision API).
🟠Работа с текстовыми, PDF, CSV, Excel файлами.
🟠Прогноз погоды по команде /weather.
🟠Настройка стиля общения с ИИ.
🟠Озвучивание ответов и генерация голосовых сообщений.
🟠Перевод текста на разные языки.
🟠Авторизация пользователей через список ID.


📱 Технологии:
👇Python 3.11
👇aiogram
👇Google Gemini API
👇SQLite (aiosqlite)
👇OpenWeatherMap API
👇Tesseract OCR
👇SpeechRecognition
👇gTTS, Pydub (FFmpeg)
👇Pandas, OpenPyXL, PyPDF2
👇googletrans
👇Loguru
👇python-dotenv


🧑‍💻 Установка:
git clone https://github.com/discolite/telegram_gemini_bot.git
cd telegram_gemini_bot
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt


💬 Скопируйте .env.example в .env и заполните необходимые переменные окружения.

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍155🔥5
🔥 Полезные библиотеки 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
👍52
🔥 Полезные библиотеки Python

Plumbum

📌 Plumbum — это мощная Python-библиотека, упрощающая написание скриптов автоматизации в стиле shell. Позволяет выполнять команды, пайпить их, работать с локальными/удалёнными процессами, как в bash, но на Python.

📌 Особенности библиотеки:
🟠Shell-like синтаксис: ls | grep[".py"] > "out.txt"
🟠Работа с удалёнными машинами через SSH
🟠Локальные команды и алиасы
🟠Безопаснее и удобнее, чем os.system или subprocess


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



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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍2🔥2
Automated Weekly Report Summarizer — скрипт, который каждую неделю автоматически загружает утёкшую PDF‑отчётность с сайта, извлекает текст, запрашивает резюме у OpenAI API и сохраняет результаты в структуре JSON. Отлично подходит для аналитики, мониторинга KPI и автоматизации отчётности.

📱 Python 3.9+
💾 Модули: requests, PyPDF2, openai, schedule, argparse

📌 Как работает:
🟠Загружает PDF-отчёты с защищённого сайта (при необходимости авторизация)
🟠Извлекает текст из PDF (PyPDF2)
🟠Отправляет текст в OpenAI для резюмирования
🟠Сохраняет итоговую структуру: date, summary, key_points, risk_section в JSON
🟠Автоматически запускается каждую неделю по расписанию (schedule)


🧑‍💻 Пример использования (CLI):
python weekly_report.py --url https://example.com/reports/weekly.pdf \
--schedule "every Monday" --output report.json


👨‍💻 Пример кода:
import requests, PyPDF2, openai, schedule, time, argparse, json
from io import BytesIO

def fetch_pdf(url):
resp = requests.get(url)
resp.raise_for_status()
return BytesIO(resp.content)

def extract_text(pdf_stream):
reader = PyPDF2.PdfReader(pdf_stream)
return "\n".join(page.extract_text() or "" for page in reader.pages)

def summarize(text):
resp = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "You summarize professionally."},
{"role": "user", "content": text}],
)
return resp.choices[0].message.content.strip()

def job(url, output):
pdf = fetch_pdf(url)
text = extract_text(pdf)
summary = summarize(text)
data = {"url": url, "summary": summary, "timestamp": time.strftime("%Y-%m-%d")}
with open(output, "a", encoding="utf-8") as f:
f.write(json.dumps(data, ensure_ascii=False) + "\n")
print(" Report summarized")

def main(args):
schedule.every().monday.do(job, args.url, args.output)
print("🚀 Scheduler started")
while True:
schedule.run_pending()
time.sleep(60)

if __name__ == "__main__":
p = argparse.ArgumentParser()
p.add_argument('--url', required=True, help='URL PDF отчёта')
p.add_argument('--schedule', default='every Monday')
p.add_argument('--output', default='weekly_reports.json')
args = p.parse_args()
openai.api_key = args.openai_key or os.getenv("OPENAI_API_KEY")
main(args)


⚙️ Установка зависимостей:
pip install requests PyPDF2 openai schedule


#скрипты

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
110🔥4👍2
🎧 Локальный плеер аудиокниг/подкастов с закладками и продолжением с места 🥳

🔍 Где применимо?
Слушай книгу по частям без потери места
Удобно для изучающих язык — возвращаться на нужный момент
Повтор занятий и лекций
Прост в использовании и работает офлайн


import pygame
import time
import os
import json

AUDIO_FILE = "audiobook.mp3"
PROGRESS_FILE = "progress.json"

pygame.mixer.init()
pygame.mixer.music.load(AUDIO_FILE)

# Загрузка позиции
if os.path.exists(PROGRESS_FILE):
with open(PROGRESS_FILE) as f:
data = json.load(f)
position = data.get(AUDIO_FILE, 0)
print(f"▶️ Продолжаем с {round(position, 2)} сек")
else:
position = 0

pygame.mixer.music.play(start=position)

try:
while pygame.mixer.music.get_busy():
time.sleep(1)
except KeyboardInterrupt:
current_pos = pygame.mixer.music.get_pos() / 1000 + position
with open(PROGRESS_FILE, "w") as f:
json.dump({AUDIO_FILE: current_pos}, f)
print(f"\n⏸️ Остановлено на {round(current_pos, 2)} сек. Позиция сохранена.")


#скрипты

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

peewee

📌 peewee — это лёгкий ORM для Python, с лаконичным синтаксисом, поддержкой SQLite, PostgreSQL и MySQL. Отлично подходит для небольших и средних проектов.

📌 Особенности библиотеки:
🟠Очень простой и понятный синтаксис
🟠Поддержка миграций (pwiz, playhouse.migrate)
🟠Поддерживает связи (ForeignKey, ManyToMany)
🟠Есть расширения (playhouse) для кэша, сигналов, миграций и др.


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


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
3
🌃 Быстрое и надёжное массовое переименование файлов в Python

📌 Делюсь готовым решением для автоматического замены части имени файлов в указанной директории.

📌 Скрипт включает проверку пути, обработку ошибок и защиту от конфликтов имён.

import os

def bulk_rename(folder_path, old_name_part, new_name_part):

if not os.path.isdir(folder_path):
raise NotADirectoryError(f"Путь «{folder_path}» не найден")

for filename in os.listdir(folder_path):
if old_name_part in filename:
new_filename = filename.replace(old_name_part, new_name_part)
old_full = os.path.join(folder_path, filename)
new_full = os.path.join(folder_path, new_filename)

# Пропускаем, если имена совпадают
if old_full == new_full:
print(f"Пропущено (имена совпадают): {filename}")
continue

try:
os.rename(old_full, new_full)
print(f"Переименовано: {filename} → {new_filename}")
except OSError as e:
print(f"Ошибка при переименовании {filename}: {e}")

if __name__ == "__main__":
folder = '/path/to/your/folder'
bulk_rename(folder, 'old_part', 'new_part')


#скрипты

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

molecule

📌 Molecule — это инструмент для тестирования ролей и плейбуков Ansible. Он помогает DevOps-инженерам автоматически проверять, что инфраструктурный код работает корректно до применения в проде.

📌 Особенности:
🟠Поддержка Docker, Vagrant, Podman, EC2 и других драйверов
🟠Интеграция с Ansible, Testinfra, Goss
🟠Автоматические проверки, линтинг и CI
🟠Подходит для TDD в инфраструктуре


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

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍1