Справочник Программиста
6.37K subscribers
1.29K photos
376 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
Отображение календаря на Python

В данной статье рассмотрим, как с помощью встроенного модуля calendar можно создавать и выводить календари.

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

Библиотека 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 в 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