Справочник Программиста
6.37K subscribers
1.29K photos
375 videos
64 files
1.62K links
По рекламе - @it_start_programmer
Мои курсы - @courses_from_it_start_bot
Сайт - https://it-start.online/
YouTube - https://www.youtube.com/@it_start
Реклама на бирже - https://telega.in/c/programmersGuide_1

Предложить идею: @it_start_suggestion_bot
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека Twisted в Python

Библиотека Twisted предназначена для создания сетевых приложений. Предоставляет асинхронный фреймворк, который позволяет работать с сетевыми протоколами, такими как HTTP, SMTP, POP3, IMAP, FTP, SSH, DNS и многими другими.

Подходит для разработки серверов, клиентов и прокси.

Основные особенности библиотеки:
🔵Асинхронная архитектура: Основан на событийной модели и использует цикл событий, чтобы обеспечивать высокую производительность. Вместо блокирующего ввода/вывода используются отложенные вызовы (Deferred), что позволяет работать с большим количеством соединений одновременно.
🔵Поддержка множества протоколов: Имеет готовые реализации многих сетевых протоколов, что упрощает разработку сетевых приложений.
🔵Расширяемость: Предоставляет базовые классы и интерфейсы для создания собственных протоколов и приложений.
🔵Кроссплатформенность: Работает на различных платформах, включая Windows, macOS и Linux.
🔵Инструменты для тестирования: Включает встроенные утилиты для тестирования сетевых приложений, что облегчает разработку и отладку.

➡️Установка библиотеки: pip install Twisted

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5🔥2🎄2
👀 Библиотека calendar-widget в Python

Библиотека 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
Код для поиска больших файлов на диске на Python

Для поиска больших файлов на диске в коде используется модуль pathlib.

from pathlib import Path


def find_large_files(folder_path, size_threshold_mb):
# Преобразуем порог размера в байты
size_threshold_bytes = size_threshold_mb * 1024 * 1024

# Создаём объект Path для указанной папки
folder = Path(folder_path)

# Рекурсивно проходим по всем файлам в папке и подкаталогах
for file_path in folder.rglob('*'):
# Проверяем, является ли найденный объект файлом
if file_path.is_file():
try:
# Получаем размер файла в байтах
file_size = file_path.stat().st_size

# Если размер файла превышает указанный порог, выводим его путь и размер в МБ
if file_size > size_threshold_bytes:
print(f"{file_path} - {file_size / (1024 ** 2):.2f} MB")
except FileNotFoundError:
# Если файл был удалён до обработки, игнорируем ошибку
pass


# Пример: найти файлы больше 1024 МБ в папке "C:/"
find_large_files("C:/", 1024)


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3❤‍🔥2
👀 Библиотека PyCryptodome в Python

Библиотека PyCryptodome предназначена для работы с криптографией в Python. Предоставляет инструменты для шифрования, дешифрования, генерации ключей и цифровой подписи.

Считается более современной и поддерживаемой альтернативой PyCrypto, которая уже не обновляется.

Основные возможности библиотеки:
🔵Шифрование и дешифрование: Поддержка симметричных и асимметричных алгоритмов (AES, RSA, DES3 и др.).
🔵Хеширование: Реализация популярных алгоритмов (SHA-256, SHA-512, MD5 и др.).
🔵Генерация случайных чисел: Использование криптографически безопасного генератора.
🔵Цифровые подписи: Создание и проверка подписи (RSA, DSA).
🔵Управление ключами: Генерация, экспорт и импорт ключей в форматах PEM, DER.
🔵Поддержка режимов шифрования: Работа с режимами CBC, GCM, EAX, и другими.
🔵Аутентифицированное шифрование: Поддержка алгоритмов AES-GCM, ChaCha20-Poly1305.

➡️Установка библиотеки: pip install pycryptodome

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤‍🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🦆 Код для получения случайных изображений уток на Python

Помню как вам зашли посты про получение случайных изображений кошек и собак, поэтому держите уток 😉

Для обращения к Random Duck API в коде используется библиотека requests.

➡️Установка библиотек: pip install requests

import requests
from pathlib import Path


def get_random_duck():
# URL для получения случайной картинки утки
url = "https://random-d.uk/api/v2/random"
try:
# Выполнение GET-запроса для получения данных
response = requests.get(url)
response.raise_for_status() # Проверка на успешный статус запроса
# Возвращаем URL картинки утки из полученного JSON
return response.json().get("url")
except requests.RequestException:
# В случае ошибки возвращаем None
return None


def save_duck_image(image_url, folder="ducks"):
# Определение пути для папки, где будут храниться картинки
folder_path = Path(folder)
folder_path.mkdir(parents=True, exist_ok=True) # Создание папки, если её нет

try:
# Запрос для получения картинки по URL
response = requests.get(image_url)
response.raise_for_status() # Проверка на успешный статус запроса
# Получение имени файла из URL картинки
image_name = Path(image_url).name
# Полный путь для сохранения файла
file_path = folder_path / image_name

# Открытие файла для записи в бинарном режиме и сохранение содержимого
with file_path.open('wb') as file:
file.write(response.content)

# Выводим сообщение о успешном сохранении
print(f"Картинка сохранена: {file_path}")
except requests.RequestException:
# В случае ошибки при скачивании выводим сообщение
print("Ошибка при скачивании картинки")


if __name__ == "__main__":
# Получение случайной картинки утки
duck_image_url = get_random_duck()
if duck_image_url:
# Если URL картинки получен, сохраняем изображение
save_duck_image(duck_image_url)
else:
# Если не удалось получить URL картинки, выводим ошибку
print("Не удалось получить изображение")


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍2🔥2😎1
👀 Библиотека FastAPI-Admin в Python

Библиотека FastAPI-Admin позволяет добавлять административную панель к приложениям, созданным с использованием фреймворка FastAPI.

Предназначена для управления данными приложения через веб-интерфейс, предоставляя CRUD-функционал и удобную настройку интерфейса.

Основные возможности библиотеки:
🔵Автоматическое создание CRUD-интерфейса: Поддержка операций создания, чтения, обновления и удаления записей в базе данных.
🔵Гибкость и расширяемость: Легко настраиваемые модели и интерфейсы. Возможность создания своих компонентов и настроек.
🔵Интеграция с популярными базами данных: Работает с такими ORM, как SQLAlchemy, Tortoise ORM, и другими.
🔵Поддержка RBAC (Role-Based Access Control): Возможность настройки ролей и разрешений для пользователей.
🔵Простая настройка интерфейса: Современный и удобный интерфейс, основанный на Ant Design Pro. Возможность кастомизации дизайна и добавления новых страниц.
🔵Авторизация и аутентификация: Готовые решения для авторизации пользователей.

➡️Установка библиотеки: pip install fastapi-admin

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥2
📺 Конвертация видео в GIF на Python

В данном shorts напишем код для конвертации видео в GIF на Python.

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6👍1🔥1
Справочник Программиста
📺 Конвертация видео в GIF на Python В данном shorts напишем код для конвертации видео в GIF на Python. ➡️Справочник Программиста. Подписаться
Код для преобразования видео в GIF на Python

Для преобразования видео в GIF в коде используется библиотека moviepy.

➡️ Установка библиотеки: pip install moviepy

from moviepy.editor import VideoFileClip


def convert_video_to_gif(video_path, gif_path):
video = VideoFileClip(video_path)
video.write_gif(gif_path, fps=60)


convert_video_to_gif("video.mp4",
"output.gif")


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5👍3
👀 Библиотека Blessed в Python

Библиотека Blessed предоставляет удобные функции для создания цветного и форматированного текста, управления курсором, обработки ввода и других возможностей взаимодействия с консолью.

Основные возможности библиотеки:
🔵Цветной текст и стилизация: Упрощает создание цветного текста и добавление форматирования, такого как жирный шрифт, курсив, подчёркивание и т. д.
🔵Управление курсором: Позволяет перемещать курсор в терминале, что полезно для создания динамических интерфейсов, таких как прогресс-бары, текстовые игры и другие приложения.
🔵Обработка ввода: Поддерживает работу с клавишами ввода, включая функциональные клавиши (стрелки, F1-F12), обработку последовательностей ESC и других специальных команд.
🔵Автоматическое определение возможностей терминала: Определяет, поддерживает ли текущий терминал цветной вывод, какие функции доступны, и автоматически адаптируется.
🔵Совместимость: Работает с различными терминалами (например, xterm, tmux, screen) и заботится о кроссплатформенности.

➡️Установка библиотеки: pip install blessed

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2🔥2👍1
👀 Библиотека fsspec в Python

Библиотека fsspec предназначена для работы с файловыми системами через единый интерфейс.

Абстрагирует взаимодействие с различными типами файловых систем (локальные, удалённые, распределённые) и позволяет работать с ними с использованием унифицированных методов.

Основные возможности библиотеки
🔵Единый интерфейс для работы с разными хранилищами: Можно работать с локальными файлами, облачными хранилищами или FTP/HTTP-серверами одинаково.
🔵Прозрачное чтение и запись: Поддерживает различные протоколы через единую схему доступа.
🔵Кэширование данных: Позволяет хранить данные локально для ускорения операций.
🔵Поддержка файлов как объектов: Предоставляет API для работы с файлами в стиле файловых объектов Python, что упрощает чтение, запись и обработку данных.
🔵Расширяемость: Можно подключать дополнительные плагины для поддержки новых типов файловых систем.
🔵Совместимость с библиотеками Pandas, Dask, Zarr и другими.

➡️Установка библиотеки: pip install fsspec

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Код для сортировки файлов по типам на Python

Для сортировки файлов в коде используются модули pathlib и shutil.

import shutil
from pathlib import Path


def sort_files_by_type(folder_path):
# Преобразуем путь к папке в объект Path
folder = Path(folder_path)

# Проверяем, существует ли папка и является ли она директорией
if not folder.exists() or not folder.is_dir():
print("Указанная папка не существует или это не папка.")
return

# Перебираем все файлы в указанной папке
for file in folder.iterdir():
# Проверяем, является ли объект файлом
if file.is_file():
# Получаем расширение файла (если оно есть), иначе 'Без расширения'
extension = file.suffix[1:] if file.suffix else 'Без расширения'

# Формируем путь для папки с соответствующим расширением
extension_folder = folder / extension

# Создаём папку для расширения, если она ещё не существует
extension_folder.mkdir(exist_ok=True)

# Перемещаем файл в соответствующую папку
shutil.move(str(file), extension_folder / file.name)

# Сообщаем, что файлы отсортированы
print("Файлы отсортированы по типам.")


# Пример: сортировка файлов в указанной папке
sort_files_by_type("C:/Users/User/Downloads")


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔4👍3❤‍🔥2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека fastjsonschema в Python

fastjsonschema — это высокопроизводительная библиотека для валидации JSON-схем в Python.

Компилирует схемы JSON в нативный Python-код, что делает её одной из самых быстрых среди аналогов.

Основные особенности библиотеки:
🔵Высокая скорость: Схема компилируется в Python-код один раз, а затем выполняется без интерпретации.
🔵Совместимость с стандартом JSON Schema: Поддерживает Draft 04, Draft 06, Draft 07 и Draft 2019-09.
🔵Минимальные зависимости: Написана на чистом Python без внешних зависимостей.
🔵Генерация исключений: В случае ошибки валидации выбрасывается подробное исключение.

➡️Установка библиотеки: pip install fastjsonschema

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤‍🔥3🔥2
Пять калькуляторов на Python

В данной статье напишем код пяти полезных калькуляторов на Python.

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека Art в Python

Библиотека Art позволяет создавать ASCII-арты, стилизованного текста и случайных артов.

Поддерживает более 400 шрифтов и 1000 готовых изображений ASCII.

Основные возможности библиотеки:
🔵Создание ASCII-текста с разными шрифтами.
🔵Выбор стиля текста (более 400 шрифтов).
🔵Генерация случайных ASCII-артов.
🔵Создание ASCII-эмодзи.
🔵Вывод текста с красивым оформлением (tprint).
🔵Использование кастомных символов для текста.
🔵Простая интеграция в CLI-приложения.

➡️Установка библиотеки: pip install art

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3🔥3
👀 Библиотека cachetools в Python

Библиотека cachetools предоставляет различные инструменты для реализации кэширования с ограничением по времени жизни (TTL), размеру кэша и других параметров.

Полезна для улучшения производительности приложений, когда требуется часто получать одни и те же данные, например, при запросах к базе данных, внешним API или сложных вычислениях.

Основные возможности библиотеки:
🔵Реализация кэша с удалением наименее недавно использованных элементов.
🔵Кэш с временем жизни элементов, после которого данные автоматически удаляются.
🔵Кэш с ограничением по размеру, где элементы удаляются случайным образом.
🔵Декораторы для кэширования результатов функций и методов.
🔵Возможность настройки максимального размера кэша и времени жизни элементов.
🔵Возможность вручную управлять очисткой и обновлением данных в кэше.
🔵Поддержка работы в многозадачных приложениях с синхронизацией.

➡️Установка библиотеки: pip install cachetools

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤‍🔥2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Код для мониторинга использования оперативной памяти на Python

Для получения информации об использовании оперативной памяти в коде используется модуль psutil.

➡️Установка модуля: pip install psutil

import psutil
import time


def monitor_memory_usage():
try:
while True: # Бесконечный цикл для постоянного мониторинга
# Получаем информацию о виртуальной памяти
memory = psutil.virtual_memory()
# Выводим использованную память в гигабайтах, общую память и процент использования
print(f"Использовано памяти: {memory.used / (1024 ** 3):.2f} GB /"
f" {memory.total / (1024 ** 3):.2f} GB ({memory.percent}%)")
# Задержка в 5 секунд перед следующим измерением
time.sleep(5)
except KeyboardInterrupt: # Обработка прерывания с клавиатуры (Ctrl+C)
# Сообщение о завершении мониторинга
print("Мониторинг завершен.")


# Запускаем функцию мониторинга памяти
monitor_memory_usage()


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6🔥3