В данной статье напишем три скрипта для автоматизации задач с помощью Python.
5 простых программ на Python
5 полезных скриптов на Python
Простые программы на Python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4👍2🔥1
yt-dlp
, написанная на Python с использованием библиотеки tkinter
.Упрощает скачивание видео и аудио с YouTube и других платформ, позволяя пользователю не писать команды в терминале, а работать через удобный интерфейс.
Основные возможности:
yt-dlp
и ffmpeg
;git clone https://github.com/vokrob/yt-dlp-gui.git
cd yt-dlp-gui
pip install -r requirements.txt
python main.py
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3❤🔥1
Отлично подходит для тестирования, предоставляя:
SQLAlchemy
, Django
, psycopg
, asyncpg
и прочими.def test_sqlalchemy_just_works(pglite_session):
user = User(name="Alice", email="alice@test.com")
pglite_session.add(user)
pglite_session.commit()
assert user.id is not None
assert User.query.count() == 1 # Real PostgreSQL!
pip install py-pglite[sqlalchemy] # для SQLAlchemy/SQLModel
pip install py-pglite[django] # для Django
pip install py-pglite[asyncpg] # для чистого asyncpg
pip install py-pglite[extensions] # с поддержкой pgvector и др.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3🔥2👍1
Проще говоря, достаточно добавить один декоратор
@pysnooper.snoop()
к функции, и библиотека начнёт логировать все её шаги — какие строки выполняются, какие значения присваиваются переменным и как изменяется состояние программы.Основные возможности:
pip install pysnooper
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥7🔥2
📘 Весь материал оформлен в виде Jupyter-ноутбуков: удобно читать, легко искать нужные темы. Чёткая структура и множество примеров кода делают обучение максимально понятным.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3❤🔥2🤨1
This media is not supported in your browser
VIEW IN TELEGRAM
⚒️ crudadmin — это библиотека для
Минимизирует количество шаблонного кода и позволяет быстро создавать административные интерфейсы.
Основные возможности:
🔵 Автоматическая генерация CRUD-интерфейсов на основе моделей
🔵 Поддержка кастомизации форм и отображения данных.
🔵 Гибкая система фильтров, поиска и сортировки.
🔵 Возможность расширения стандартных возможностей с помощью плагинов.
🔵 Поддержка работы с REST API.
🔵 Простая интеграция с существующим проектом
➡️ Установка:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Django
, которая превращает ваш проект в удобную административную панель с функциями CRUD (создание, чтение, обновление, удаление) без необходимости писать лишний код.Минимизирует количество шаблонного кода и позволяет быстро создавать административные интерфейсы.
Основные возможности:
Django
.Django
.pip install "crudadmin[memcached]"
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤🔥1
Предоставляет простой интерфейс для диагностики проблем, связанных с неэффективным управлением памятью.
Основные возможности:
pip install pyleak
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤🔥2🤔1
Основные возможности:
pip install notify-py
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥6❤🔥3👍2
Написана полностью на Python и поддерживает асинхронный ввод-вывод (
asyncio
), что делает её удобной для интеграции в современные веб-приложения.Основные возможности:
asyncio
и использование корутин.pip install aiortc
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4👍3🔥1
FFmpeg
, предоставляющие удобный и «питоничный» доступ к функциям обработки аудио и видео.Этот пакет позволяет работать с мультимедийными данными (декодирование, кодирование, ресемплинг, ресайз, фильтрация) без необходимости напрямую взаимодействовать с низкоуровневыми API FFmpeg.
Основные возможности:
NumPy
для удобной обработки кадров как массивов.pip install av
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3🔥3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Для скачивания изображений в коде используется библиотека
requests
.pip install requests
import requests
def download_image(url, filename):
try:
# Отправляем GET-запрос по указанному URL
response = requests.get(url, stream=True)
# Проверяем, что запрос был успешным (статус 200)
response.raise_for_status()
# Открываем файл в бинарном режиме записи ('wb')
with open(filename, 'wb') as file:
# Записываем содержимое ответа в файл
for chunk in response.iter_content(chunk_size=8192):
file.write(chunk)
print(f"Изображение успешно сохранено как: {filename}")
except requests.exceptions.RequestException as e:
print(f"Ошибка при скачивании изображения: {e}")
except IOError as e:
print(f"Ошибка при сохранении файла: {e}")
# Пример использования функции
if __name__ == "__main__":
image_url = "https://placehold.co/600x400/000000/FFFFFF?text=Пример+изображения" # Замените на реальный URL изображения
output_filename = "saved_image.jpg" # Имя файла для сохранения
download_image(image_url, output_filename)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥2
Позволяет легко поднимать нужные сервисы (например, PostgreSQL, Redis, Kafka, MySQL и другие) прямо во время тестирования, избавляя от необходимости настраивать окружение вручную.
Основные возможности:
pytest
и другими тестовыми фреймворками.pip install testcontainers
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Для контроля свободного места на диске в коде используется модуль
psutil
.pip install
psutil
import shutil
def check_disk_space(path='/'):
try:
total, used, free = shutil.disk_usage(path)
return total, used, free
except FileNotFoundError:
print(f"Ошибка: Путь '{path}' не найден.")
return None
except Exception as e:
print(f"Произошла ошибка: {e}")
return None
def bytes_to_gb(bytes_value):
"""Конвертирует байты в гигабайты."""
return bytes_value / (1024**3)
if __name__ == "__main__":
# Можно указать путь, который необходимо проверить.
# Для Windows используйте букву диска, например 'C:/'
# Для Linux/macOS используйте '/' для корня или определенную точку монтирования, например '/home'
path_to_check = '/' # Измените, если хотите проверить другой путь
disk_info = check_disk_space(path_to_check)
if disk_info:
total_bytes, used_bytes, free_bytes = disk_info
total_gb = bytes_to_gb(total_bytes)
used_gb = bytes_to_gb(used_bytes)
free_gb = bytes_to_gb(free_bytes)
print(f"--- Информация о дисковом пространстве для '{path_to_check}' ---")
print(f"Общий объем: {total_gb:.2f} GB")
print(f"Использовано: {used_gb:.2f} GB")
print(f"Свободно: {free_gb:.2f} GB")
# Здесь можно добавить проверку порогового значения
free_percentage = (free_bytes / total_bytes) * 100
print(f"Свободно: {free_percentage:.2f}%")
if free_percentage < 10:
print("ВНИМАНИЕ: Свободное место на диске ниже 10%! Рассмотрите возможность очистки.")
else:
print("Не удалось получить информацию о дисковом пространстве.")
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥1
📦 py7zr — это Python-библиотека для работы с архивами 7z (7zip) в чистом Python без зависимости от нативных бинарников 7-Zip.
Основные возможности:
🔵 Чтение и распаковка .7z-архивов.
🔵 Создание новых .7z-архивов с поддержкой сжатия.
🔵 Поддержка AES-шифрования и паролей.
🔵 Работа с потоками и файловыми объектами.
🔵 Совместимость с многотомными архивами.
➡️ Установка:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Основные возможности:
pip install py7zr
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤🔥2👍2
Основные возможности:
pip install anytree
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥3
Cтабильная, гибкая и расширяемая основа, подходящая как для маленьких скриптов, так и для крупных многокомпонентных систем.
Основные особенности:
pip install cement
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Проект ориентирован на случаи, когда нужно дать ИИ-агентам или пользователям возможность запускать произвольный код (Python, Node.js и т.д.) с сильной изоляцией и управляемыми ресурсами.
Основные возможности:
pip install microsandbox
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍1
Позволяет ограничивать частоту вызовов функций в асинхронных и синхронных приложениях — особенно полезна для API-клиентов и ботов.
Основные возможности:
pip install premier
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2👍2🔥1
📦 InvenTree – это управления складом и номенклатурой, построенная на Python /Django и предоставляющая полный REST API как для веб-интерфейса, так и для внешних интеграций.
Основные возможности:
🔵 Автоматическая аутентификация через токены или логин/пароль.
🔵 Получение и фильтрация данных через удобные методы.
🔵 Создание, обновление и удаление объектов (CRUD).
🔵 Работа с объектами склада и запасами.
🔵 Управление деталями, категориями, локациями и BOM.
🔵 Прикрепление файлов и добавление параметров к объектам.
🔵 Перезагрузка и синхронизация данных.
🔵 Простая интеграция с REST API сервера InvenTree.
➡️ Установка:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Основные возможности:
pip install inventree
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤🔥2