Библиотека
Boltons
предоставляет набор модулей с утилитами и функциями для повседневной разработки. Cодержит коллекцию функций и классов, которые можно рассматривать как расширение стандартной библиотеки Python.Особенностью
Boltons
является то, что она не привносит новых зависимостей и сосредоточена на предоставлении простых и удобных инструментов.Преимущества библиотеки:
pip install boltons
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤🔥2👍1
Библиотека
logfire
разработана для удобного и структурированного логирования. Предназначена для работы с библиотекой Pydantic и позволяет автоматически генерировать лог-сообщения из классов Pydantic
.Основные возможности библиотеки:
Pydantic
. Это упрощает процесс логирования, поскольку вам не нужно вручную добавлять поля в каждое сообщение.logging
, что позволяет использовать его в уже существующих проектах без необходимости полной переработки логирования.Pydantic
, logfire
обеспечивает строгую типизацию данных, что помогает избежать ошибок и улучшает читаемость кода.pip install logfire
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6👍3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
В программировании часто возникает необходимость в создании временных файлов, которые используются для промежуточного хранения данных, а затем автоматически удаляются после завершения работы. В Python мы можем упростить эту задачу с помощью контекстных менеджеров.
Для создания временных файлов в коде используется модуль
tempfile
, для создания контекстного менеджера - contextlib
, а для работы с файловой системой и удаления файла - pathlib
.import tempfile
from contextlib import contextmanager
from pathlib import Path
import time
@contextmanager
def temporary_file(suffix='', prefix='tmp', dir=None):
temp_file = tempfile.NamedTemporaryFile(suffix=suffix, prefix=prefix, dir=dir, delete=False)
try:
# Возвращаем имя временного файла
yield temp_file.name
finally:
# Закрываем файл перед удалением
temp_file.close()
time.sleep(5)
try:
# Используем unlink() для удаления файла
Path(temp_file.name).unlink()
except OSError as e:
print(f"Ошибка при удалении файла {temp_file.name}: {e}")
# Пример использования
if __name__ == "__main__":
with temporary_file(suffix='.txt') as temp_file_name:
print(f"Создан временный файл: {temp_file_name}")
# Работа с временным файлом
try:
with open(temp_file_name, 'w', encoding='utf-8') as f:
f.write("Привет, мир!")
except Exception as e:
print(f"Ошибка при записи в файл {temp_file_name}: {e}")
print("Временный файл удалён автоматически.")
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍4❤🔥2
Библиотека
fpdf2
— это инструмент для создания PDF-документов программным способом. Является обновлённой и расширенной версией оригинальной библиотеки FPDF, которая долгое время использовалась для тех же целей.В отличие от других библиотек, таких как
ReportLab
, fpdf2
фокусируется на простоте использования и лёгкости в освоении.Основные возможности библиотеки:
from fpdf import FPDF
# Создаём PDF-документ
pdf = FPDF()
pdf.add_page()
# Устанавливаем шрифт
pdf.set_font("helvetica", size=12)
# Добавляем текст
pdf.cell(200, 10, text="Hello, World!", align='C')
# Сохраняем PDF
pdf.output("hello_world.pdf")
pip install fpdf2
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека
stumpy
предназначена для вычисления матричных профилей и анализа временных рядов с использованием алгоритмов, оптимизированных для высокой производительности.Особенно полезна для обнаружения паттернов, аномалий и сегментации временных рядов.
Основные функции библиотеки:
stumpy
эффективно ищет такие уникальные аномалии, что важно для задач мониторинга и прогнозирования.pip install stumpy
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6🔥4
Piccolo
— это легковесный ORM (Object-Relational Mapper) для Python, который упрощает работу с базами данных. Был разработан для того, чтобы предоставлять интуитивно понятный и быстрый интерфейс для взаимодействия с базами данных, при этом оставаясь производительным и гибким.Основные особенности:
FastAPI
и Starlette
, которые также поддерживают асинхронные вызовы.FastAPI
, Sanic, Tornado, и может использоваться с библиотеками для тестирования, например, pytest
.pip install 'piccolo[postgres]'
pip install 'piccolo[sqlite]'
pip install 'piccolo[all]'
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥2
Media is too big
VIEW IN TELEGRAM
Код для преобразования изображений из указанной папки в один PDF-файл на Python
Для преобразования изображений из указанной папки в один PDF-файл в коде используются библиотеки
➡️ Установка библиотек:
➡️ Справочник Программиста. Подписаться
Для преобразования изображений из указанной папки в один PDF-файл в коде используются библиотеки
pathlib
, Pillow
и fpdf
.pip install Pillow fpdf2
from pathlib import Path
from PIL import Image, UnidentifiedImageError
from fpdf import FPDF
def images_to_pdf(image_folder, output_pdf):
# Создаем объект пути к папке с изображениями
image_folder_path = Path(image_folder)
# Создаем новый объект PDF
pdf = FPDF()
# Проверяем, существует ли указанная папка и является ли она директорией
if not image_folder_path.exists() or not image_folder_path.is_dir():
raise FileNotFoundError(f"Папка '{image_folder}' не найдена или не является директорией.")
# Проходимся по каждому файлу в папке
for image_file in image_folder_path.iterdir():
# Проверяем, является ли элемент файлом и имеет ли он нужное расширение
if image_file.is_file() and image_file.suffix.lower() in {'.jpg', '.jpeg', '.png'}:
try:
# Пытаемся открыть изображение
with Image.open(image_file) as img:
img_width, img_height = img.size # Получаем размеры изображения
# Рассчитываем масштабирование для страницы
pdf.add_page() # Добавляем новую страницу в PDF
# Вставляем изображение в PDF с подогнанными размерами
pdf.image(str(image_file), x=0, y=0, w=210, h=(210 * img_height / img_width))
except UnidentifiedImageError:
# Предупреждение, если файл не является изображением
print(f"Предупреждение: Файл {image_file} не является допустимым изображением и будет пропущен.")
except Exception as e:
# Обрабатываем любые другие ошибки при обработке файла
print(f"Ошибка при обработке файла {image_file}: {e}")
# Если ни одной страницы не было добавлено, выводим ошибку
if pdf.page_no() == 0:
raise ValueError("Не удалось найти ни одного изображения для добавления в PDF.")
# Сохраняем PDF-файл с указанным именем
pdf.output(str(output_pdf))
print(f"PDF-файл успешно создан: {output_pdf}")
# Пример использования функции
image_folder = 'images' # Папка с изображениями
output_pdf = 'output.pdf' # Имя выходного PDF-файла
try:
images_to_pdf(image_folder, output_pdf)
except (FileNotFoundError, ValueError) as e:
# Обработка ошибок: если папка не найдена или нет изображений для обработки
print(f"Ошибка: {e}")
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥3👍3
Библиотека
emval
— это высокопроизводительный валидатор email-адресов для Python, написанный на языке Rust.Основное преимущество библиотеки заключается в её скорости, которая в 100-1000 раз выше, чем у традиционных валидаторов.
Основные характеристики библиотеки:
pip install emval
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤🔥3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Для конвертации CSV в JSON в коде используются стандартные модули
csv
и json
.import csv
import json
def csv_to_json(csv_file_path, json_file_path):
# Открываем CSV файл
with open(csv_file_path, mode='r', encoding='utf-8') as csv_file:
# Считываем данные из CSV
csv_reader = csv.DictReader(csv_file)
# Преобразуем в список словарей
data = [row for row in csv_reader]
# Записываем данные в JSON файл
with open(json_file_path, mode='w', encoding='utf-8') as json_file:
json.dump(data, json_file, indent=4, ensure_ascii=False)
# Пример использования
csv_file_path = 'data.csv' # Указываем путь к CSV файлу
json_file_path = 'data.json' # Указываем путь для сохранения JSON файла
csv_to_json(csv_file_path, json_file_path)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Langflow
— это open-source проект, который предоставляет интерактивную среду для создания и настройки различных систем обработки естественного языка на основе LLM (Large Language Models), таких как GPT и другие.Этот инструмент создан с целью упростить разработку и настройку сложных языковых моделей и их интеграцию в разнообразные проекты.
Основные особенности проекта:
python -m pip install langflow -U
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤🔥2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека
Pare
предназначена для упрощения развертывания серверных функций (AWS Lambda) вместе с веб-приложениями.Позволяет разработчикам выделять задачи, требующие много ресурсов, и автоматически масштабировать их.
Основные возможности библиотеки:
pip install pare
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥2👍2
Библиотека
tkVideoPlayer
позволяет воспроизводить видео в графических интерфейсах, созданных с помощью библиотеки tkinter
. Упрощает интеграцию видеоплееров в приложения.Основные возможности библиотеки:
tkinter
.pip install tkvideoplayer
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥4🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека
wxPython
предназначена для создания графических интерфейсов (GUI). Предоставляет обёртку для библиотеки wxWidgets
, которая написана на C++ и является кросс-платформенной.Основные особенности библиотеки:
pip install wxPython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Код для сканирования Wi-Fi сетей в Windows на Python
Для сканирования WI-FI сетей в коде используется библиотека
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
Для сканирования WI-FI сетей в коде используется библиотека
pywifi
.pip install pywifi
import pywifi
import time
def scan_wifi():
wifi = pywifi.PyWiFi()
# Получаем первый интерфейс Wi-Fi
iface = wifi.interfaces()[0]
# Запускаем сканирование
iface.scan()
# Ждём завершения сканирования
time.sleep(2)
# Получаем результаты сканирования
results = iface.scan_results()
print("Найденные Wi-Fi сети:")
for network in results:
print(f"SSID: {network.ssid}, MAC: {network.bssid}, Сигнал: {network.signal} dBm")
# Запуск функции
scan_wifi()
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤🔥2
Библиотека
roboticstoolbox-python
разработана для создания и симуляции робототехнических приложений. Позволяет легко моделировать, анализировать и управлять роботами различной конфигурации и сложности.Активно используется в академических и исследовательских проектах для тестирования алгоритмов, управления движением и симуляции робототехнических систем.
Основные возможности библиотеки:
pip install roboticstoolbox-python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤🔥2
IOPaint
— это инструмент для удаления и замены объектов на изображениях с использованием современных моделей ИИ. Позволяет удалять объекты, исправлять дефекты, стирать или заменять элементы с помощью моделей, таких как Stable Diffusion. Поддерживает Windows, macOS и Linux, включая работу на GPU и Apple Silicon, и предоставляет удобный веб-интерфейс.
Также включает плагины для сегментации, восстановления лиц и фоновых эффектов, а также командную обработку для пакетного выполнения.
pip install iopaint
iopaint start --model=lama --device=cpu --port=8080
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤🔥2👍2