Библиотека
Textual
предназначена для создания современных интерфейсов командной строки (TUI, Text User Interfaces) на Python.Позволяет разрабатывать интерактивные интерфейсы, которые работают в терминале, используя принципы реактивного программирования, стильную визуализацию и гибкую кастомизацию.
Основные особенности библиотеки:
Textual
легко интегрируются с асинхронным кодом Python, что делает его идеальным для работы с сетевыми запросами, базами данных и другими I/O-операциями.pip install textual
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Для очистки истории браузеров Google Chrome и Firefox в коде используются стандартные библиотеки
pathlib
и shutil
.from pathlib import Path
import shutil
def clear_browser_history():
# Путь к истории Chrome
chrome_history_path = Path.home()/"AppData"/"Local"/"Google"/"Chrome"/"User Data"/"Default"/"History"
# Путь к истории Firefox
firefox_history_path = Path.home()/"AppData"/"Roaming"/"Mozilla"/"Firefox"/"Profiles"
# Очистка Chrome
if chrome_history_path.exists():
try:
chrome_history_path.unlink() # Удаляем файл
print("История Chrome очищена.")
except Exception as e:
print(f"Ошибка очистки Chrome: {e}")
# Очистка Firefox
if firefox_history_path.exists():
try:
shutil.rmtree(firefox_history_path) # Удаляем директорию
print("История Firefox очищена.")
except Exception as e:
print(f"Ошибка очистки Firefox: {e}")
if __name__ == "__main__":
clear_browser_history()
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥7👍3❤🔥2
Библиотека
six
предназначена для написания кода, который работает как в Python 2, так и в Python 3. Упрощает работу с различиями между этими версиями, такими как строки, модули, итераторы и исключения.Хотя Python 2 больше не поддерживается (официально с 2020 года),
six
полезна, если нужно поддерживать старый код или работать с проектами, рассчитанными на обе версии Python.Основные особенности библиотеки:
pip install six
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤🔥2🔥1🤔1
Библиотека
Hatch
предназначена для управления проектами и виртуальными окружениями, которая упрощает процессы создания, настройки и публикации Python-пакетов.Позволяет эффективно управлять жизненным циклом своих проектов и поддерживать согласованную конфигурацию.
Основные возможности библиотеки:
pip install hatch
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3❤🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Код для защиты Excel-файла паролем на Python
Для защиты Excel-файла паролем в коде используется библиотека
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
Для защиты Excel-файла паролем в коде используется библиотека
Spire.Office
.pip install Spire.Office
from spire.xls import Workbook
def protect_excel_with_password(input_file, output_file, password):
try:
# Открываем существующий Excel-файл
workbook = Workbook()
workbook.LoadFromFile(input_file)
# Устанавливаем пароль для открытия файла
workbook.Protect(password)
# Сохраняем защищённый файл
workbook.SaveToFile(output_file)
print(f"Файл успешно защищён паролем и сохранён как {output_file}")
except Exception as e:
print(f"Ошибка: {e}")
if __name__ == "__main__":
# Пример использования
input_path = r"example.xlsx"
output_path = r"output_file.xlsx"
file_password = "password123"
protect_excel_with_password(input_path, output_path, file_password)
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥4❤🔥3🤔1
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