This media is not supported in your browser
VIEW IN TELEGRAM
Flask-Bcrypt
— это расширение для фреймворка Flask
, которое добавляет поддержку хэширования паролей с использованием алгоритма BCrypt.Предназначено для повышения безопасности приложений, поскольку хранение паролей в незашифрованном виде или с использованием слабых алгоритмов может привести к их компрометации.
Основные особенности:
Flask
.pip install Flask-Bcrypt
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
Код для наложения текста над видео с анимацией на Python
Для наложения текста над видео в коде используется библиотека movis.
➡️ Установка библиотек:
➡️ Справочник Программиста. Подписаться
Для наложения текста над видео в коде используется библиотека movis.
pip install movis
import movis as mv
# Создаём композицию с размером 1920x1080 пикселей и длительностью 8 секунд
scene = mv.layer.Composition(size=(1920, 1080), duration=8.0)
# Добавляем видеоклип 'video.mp4' в композицию
video = scene.add_layer(mv.layer.Video('video.mp4'))
# Добавляем текстовый слой с сообщением 'Welcome!' на позицию (960, 100) с белым цветом и размером шрифта 70
text_layer = scene.add_layer(mv.layer.Text('Welcome!',
font_size=70,
color='#FFFFFF'),
position=(960, 100))
# Анимация масштаба и прозрачности, чтобы текст плавно увеличивался и становился видимым
text_layer.scale.enable_motion().extend([0.0, 1.5], [0.0, 1.0]) # Масштаб от 0 до 1.5
text_layer.opacity.enable_motion().extend([0.0, 2.0], [0.0, 1.0]) # Прозрачность от 0 до 1
# Сохраняем итоговое видео в файл 'output.mp4'
scene.write_video('output.mp4')
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤🔥3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека
StatsForecast
предназначена для высокопроизводительного прогнозирования временных рядов.Предлагает простоту использования, масштабируемость и высокую производительность благодаря использованию современных технологий, таких как Numba для ускорения вычислений.
Основные возможности библиотеки:
Spark
, Dask
и Ray
.pip install statsforecast
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍3🔥1
Библиотека
python-magic
— это удобный интерфейс для работы с libmagic
, популярной утилитой, которая определяет типы файлов на основе их содержимого, а не по расширению.С помощью этой библиотеки вы можете быстро узнать, что представляет собой файл, например, является ли он изображением, текстом, PDF-документом и т.д.
Основные возможности библиотеки:
pip install python-magic
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤🔥3
DocETL
— это инструмент, предназначенный для извлечения, преобразования и загрузки данных из документов.Создан для обработки текстовых данных, особенно из медицинских документов, но может применяться и в других областях.
Основные особенности:
pip install docetl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥2☃1🔥1
Библиотека
wheel
используется для работы с форматом wheel — стандартом для упрощённой упаковки и установки Python-пакетов.Wheel-пакеты (*.whl) представляют собой предварительно скомпилированные дистрибутивы Python-пакетов, которые можно быстро и эффективно устанавливать через pip.
Основные возможности библиотеки:
pip install wheel
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍3☃2
Библиотека
python-slugify
позволяет конвертировать строки в удобный для использования формат "slug".Slug — это короткий, человекочитаемый идентификатор, часто используемый в URL для замены пробелов и специальных символов на безопасные и удобные для чтения символы (обычно дефисы).
Основные возможности библиотеки:
pip install python-slugify
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Код для сканирования на наличие дубликатов файлов по хэшу с логированием на Python
Для сканирования на наличие дубликатов файлов по хэшу с логированием в коде используются стандартные библиотеки
➡️ Справочник Программиста. Подписаться
Для сканирования на наличие дубликатов файлов по хэшу с логированием в коде используются стандартные библиотеки
os
, hashlib
, logging
и typing
.import os
import hashlib
import logging
from typing import Dict
# Настройка логирования
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(message)s",
handlers=[
logging.FileHandler("duplicates.log", encoding="utf-8"), # Лог записывается в файл
logging.StreamHandler() # Лог также выводится в консоль
]
)
def get_file_hash(file_path: str, chunk_size: int = 65536) -> str:
hasher = hashlib.md5() # Создаем объект хэша MD5
try:
# Открываем файл в бинарном режиме для чтения
with open(file_path, 'rb') as file:
# Читаем файл частями, чтобы не загружать весь файл в память
while chunk := file.read(chunk_size):
hasher.update(chunk) # Обновляем хэш с помощью очередного блока данных
return hasher.hexdigest() # Возвращаем итоговый хэш файла
except FileNotFoundError:
logging.error(f"Файл не найден: {file_path}") # Логируем ошибку, если файл отсутствует
raise
except PermissionError:
logging.error(f"Нет доступа к файлу: {file_path}") # Логируем ошибку, если нет прав доступа
raise
def find_duplicates(folder_path: str) -> None:
# Проверяем, существует ли указанная директория
if not os.path.exists(folder_path):
logging.error(f"Указанная директория не существует: {folder_path}")
return
# Словарь для хранения хэшей файлов и их путей
files_hash: Dict[str, str] = {}
# Проходимся по всем папкам, подкаталогам и файлам в директории
for root, dirs, files in os.walk(folder_path):
for file in files: # Обрабатываем каждый файл в текущей директории
file_path = os.path.join(root, file) # Формируем полный путь к файлу
try:
# Вычисляем хэш текущего файла
file_hash = get_file_hash(file_path)
if file_hash in files_hash:
# Если хэш уже есть в словаре, то найден дубликат
logging.info(f"Дубликат найден: {file_path} и {files_hash[file_hash]}")
else:
# Если хэша нет в словаре, добавляем файл в словарь
files_hash[file_hash] = file_path
except Exception as e:
# Логируем любые ошибки, возникшие при обработке файла
logging.warning(f"Не удалось обработать файл {file_path}: {e}")
if __name__ == "__main__":
# Пример: поиск дубликатов в указанной директории
target_folder = r"C:\Users\User\Documents"
find_duplicates(target_folder)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥4❤🔥2
Библиотека
Urwid
предназначена для создания консольных пользовательских интерфейсов (CUI).Поддерживает расширенные функции, такие как управление вводом с клавиатуры, мыши, раскраска текста, а также динамическое изменение размеров виджетов.
Основные возможности библиотеки:
asyncio
, что делает библиотеку подходящей для сетевых приложений и задач реального времени.pip install urwid
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2👍2🔥2🤨1
This media is not supported in your browser
VIEW IN TELEGRAM
Для получения случайных изображений мы воспользуемся Lorem Picsum API.
Для обращения к API в коде используется библиотека
requests
, а для работы с изображением - Pillow
и io
.pip install requests Pillow
import requests
from PIL import Image
from io import BytesIO
def get_random_image(width: int, height: int):
"""
Получает случайное изображение с Lorem Picsum API.
:param width: Ширина изображения.
:param height: Высота изображения.
:return: Объект PIL.Image или None в случае ошибки.
"""
url = f"https://picsum.photos/{width}/{height}"
try:
response = requests.get(url)
response.raise_for_status() # Проверка на ошибки HTTP
image = Image.open(BytesIO(response.content))
return image
except requests.RequestException as e:
print(f"Ошибка при запросе изображения: {e}")
return None
def save_image(image: Image.Image, filename: str):
"""
Сохраняет изображение в файл.
:param image: Объект PIL.Image.
:param filename: Имя файла для сохранения.
"""
try:
image.save(filename)
print(f"Изображение сохранено как {filename}")
except Exception as e:
print(f"Ошибка при сохранении изображения: {e}")
if __name__ == "__main__":
# Указываем размеры изображения
width = 800
height = 600
# Получаем случайное изображение
random_image = get_random_image(width, height)
if random_image:
# Сохраняем изображение в файл
save_image(random_image, "random_image.jpg")
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤🔥2👍1
Библиотека
pyinstrument
предназначена для профилирования кода на Python и позволяет отслеживать, сколько времени затрачивает выполнение различных частей программы.Предоставляет удобный и быстрый способ выявления узких мест в производительности, помогая оптимизировать код.
Основные особенности библиотеки:
asyncio
.pip install pyinstrument
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3❤🔥2
Tkinter Designer
— это инструмент для упрощения создания пользовательских интерфейсов (GUI) в Python.Автоматизирует процесс разработки интерфейса: вместо ручного написания кода для каждого элемента интерфейса, разработчики могут использовать визуальный редактор Figma, а затем сгенерировать Python-код на основе созданного макета.
Основные особенности:
pip install tkdesigner
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6🔥2
Библиотека
Django-cachalot
предназначена для кэширования запросов к базе данных в Django
.Автоматически кэширует результаты запросов ORM, что позволяет значительно снизить нагрузку на базу данных и ускорить работу приложений.
Основные возможности:
Django
(PostgreSQL, MySQL, SQLite).Redis
, Memcached
и др.).pip install django-cachalot
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤🔥3🔥1
Библиотека
CairoSVG
позволяет конвертировать SVG в другие форматы, такие как PNG, PDF, PostScript и т.д.Основные возможности библиотеки:
pip install CairoSVG
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍2🔥1