Библиотека
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
Отображение календаря на Python
В данной статье рассмотрим, как с помощью встроенного модуля
➡️ Справочник Программиста. Подписаться
В данной статье рассмотрим, как с помощью встроенного модуля
calendar
можно создавать и выводить календари.Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤🔥3🔥1
Библиотека
Inflect
используется для генерации и преобразования чисел в текстовые строки, а также для работы с числами в различных форматах (например, запись чисел словами или преобразование в слова для различных форм числительных).Полезна в различных задачах, связанных с форматированием чисел в текст, например, для генерации счетных фраз, финансовых отчетов и других приложений.
Основные возможности библиотеки:
pip install inflect
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2👍2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Код для получения цен на зарубежные акции на Python
Для получения цен на зарубежные акции в коде используется библиотека
➡️ Установка библиотек:
➡️ Справочник Программиста. Подписаться
Для получения цен на зарубежные акции в коде используется библиотека
yfinance
.pip install yfinance
import yfinance as yf
def get_last_price(stock_symbol):
"""
Получить последнюю цену акции.
:param stock_symbol: Символ акции (например, "AAPL")
:return: Последняя цена или сообщение об ошибке.
"""
try:
stock = yf.Ticker(stock_symbol)
data = stock.history(period='1d')
if data.empty:
if stock.info.get("regularMarketPrice") is None:
return f"Данные по '{stock_symbol}' не найдены или акция делистирована. Проверьте правильность ввода."
else:
return f"Данные по '{stock_symbol}' недоступны для выбранного периода."
last_price = data['Close'].iloc[-1]
return f"Последняя цена акции {stock_symbol}: {last_price} USD"
except Exception as e:
return f"Произошла ошибка при получении данных: {e}"
if __name__ == "__main__":
# Запрос символа акции у пользователя
stock_symbol = input("Введите символ акции (например, AAPL): ")
# Вывод последней цены
print(get_last_price(stock_symbol))
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5👍3🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека
Twisted
предназначена для создания сетевых приложений. Предоставляет асинхронный фреймворк, который позволяет работать с сетевыми протоколами, такими как HTTP, SMTP, POP3, IMAP, FTP, SSH, DNS и многими другими.Подходит для разработки серверов, клиентов и прокси.
Основные особенности библиотеки:
pip install Twisted
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5🔥2🎄2
Библиотека
calendar-widget
предоставляет удобный виджет календаря для использования в графических интерфейсах, таких как Tkinter
.Основные особенности библиотеки:
pip install calendar-widget
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤🔥2