Ghostly Python
9.01K subscribers
535 photos
24 videos
599 links
Погружаемся в мир Python: задачи, фишки, библиотеки и террабайты полезного материала.

Сотрудничество: @heywan_n1

Цены: @heywan_media

Реклама на бирже: https://telega.in/c/+IOa15XDNbxRkYzNi
Download Telegram
🎞 Скрипт: Конвертация MKV в MP4

Этот скрипт автоматизирует процесс конвертации видеофайлов из формата MKV в MP4 с помощью ffmpeg.

Просто поместите все свои MKV-файлы в папку assets, и скрипт создаст папку result с готовыми MP4-версиями.

⚙️ Особенности:

Переводит все файлы в формате MKV в MP4 без перекодирования.
Автоматически создает нужные папки и открывает результат.
Требуется установленный ffmpeg.

⚠️ Важно: убедитесь, что ffmpeg установлен и добавлен в переменные окружения!

📂 Скрипт с подробным комментированием кода уже в архиве:


➡️ Скачать...

🐍 Ghostly Python | #скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥72
🖼️ Библиотека: Loguru

Loguru - это библиотека для ведения логов в Python, созданная для облегчения и улучшения процесса логирования в ваших проектах.

ℹ️ Особенности:

🟢Простота использования: Никаких сложных настроек, только удобство.

🟢Легкость настройки: Библиотека позволяет гибко настраивать формат и уровень логов для каждого компонента вашего приложения.

🟢Высокая производительность: Loguru обеспечивает эффективное ведение логов с минимальным влиянием на производительность.

⚙️ Пример использования:

from loguru import logger

# Настройка логирования в файл app.log с ротацией при достижении 500 МБ и уровнем INFO
logger.add("app.log", rotation="500 MB", level="INFO")

def my_function():
logger.debug("Это отладочное сообщение")
logger.info("Информационное сообщение")
logger.warning("Предупреждение")
logger.error("Ошибка")
logger.critical("Критическая ошибка")

my_function()


✔️ Установка:

pip install loguru


Кстати, нашел еще подробный гайд по работе с Loguru. Вот собственно и ссылка на него: Loguru Guide.

➡️ Ссылка на документацию

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
⚙️ Python — полный курс для начинающих.

Курс по Python для начинающих. После прохождения курса вы начнёте уверенно использовать синтаксис Python для разных задач.

➡️ Ссылка на урок

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
📱 Python Cheat Sheet

Шпаргалка по Python, основанная на книге «Автоматизация рутинных задач с помощью Python». Если вы опытный - поможет освежить память, если вы начинающий - поможет преодолеть барьеры в проблемных темах.

Одним словом — годнота 👨‍💻


➡️ Ссылка на ресурс

🐍 Ghostly Python | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62
👩‍💻 Оптимизируй это с Python: 20+ полезных скриптов

Здесь собраны примеры встроенных модулей и библиотек Python для автоматизации ряда популярных повторяющихся задач разной сложности — от конвертации файлов до анализа больших массивов данных. Этот обзор пригодиться всем, кто устал тратить время на утомительные задачи или хочет повысить свою эффективность.

➡️ Перейти на сайт

🐍 Ghostly Python | #скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
🌐 Работа с API в Python с помощью библиотеки Requests

Работа с API в Python с помощью Requests позволяет легко взаимодействовать с веб-сервисами, отправлять HTTP-запросы и получать данные в формате JSON для анализа и обработки.

✔️ Установка библиотеки:

pip install requests


⚙️ Простой пример:

import requests

# Отправка GET-запроса к API
response = requests.get('https://api.coindesk.com/v1/bpi/currentprice.json')

# Проверка статуса ответа
if response.status_code == 200:
# Преобразование ответа в JSON
data = response.json()
print(data['bpi']['USD']['rate'])
else:
print('Не удалось получить данные:', response.status_code)


Этот скрипт отправляет GET-запрос к API сервиса CoinDesk, который предоставляет текущий курс биткойна в долларах США. Если запрос успешен (статус код 200), ответ преобразуется в JSON, и выводится курс биткойна.

⚙️ Отправка POST-запроса:

Requests также поддерживает отправку POST-запросов для передачи данных на сервер.

import requests

# Данные для отправки
payload = {'username': 'testuser', 'password': 'mypassword'}

# Отправка POST-запроса
response = requests.post('https://httpbin.org/post', data=payload)

# Проверка статуса ответа
if response.status_code == 200:
print('Данные успешно отправлены')
print(response.json())
else:
print('Не удалось отправить данные:', response.status_code)


В этом примере скрипт отправляет POST-запрос с данными формы на тестовый сервис httpbin.org. Ответ сервера отображается в виде JSON.

📌 Работа с API с помощью библиотеки Requests позволяет легко интегрироваться с различными веб-сервисами, получать и отправлять данные, а также использовать мощные функции для настройки запросов и обработки ответов.

➡️ Ссылка на документацию

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍31
📱 БОЕВОЙ ПРОЕКТ НА PYTHON - CRM сервисной службы

В данном плейлисте вы наработаете практику программирования на Python, путем разработки полноценного проекта — CRM сервисной службы.

Отлично подойдет для тех, кто ищет задачи для практики.

➡️ Ссылка на плейлист

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
✏️ Когда print() не справляется, выручает pprint()

Безусловно, стандартная функция Python print() отлично справляется со своей работой, но только до того момента, пока нам не понадобится вывести какие-то сложные вложенные объекты. При выводе таких объектов с помощью print(), результат будет очень трудно читаемым.

В такой ситуации, нам поможет модуль из стандартной библиотеки Python — pprint (pretty print). Он позволяет красиво форматировать и выводить объекты со сложной структурой, что особенно полезно при работе с API или сложными данными.

⚙️ Пример использования

import requests
import pprint

url = 'https://randomuser.me/api/?results=1'
users = requests.get(url).json()

pprint.pprint(users)


Здесь, благодаря pprint(), мы получим удобный для чтения вывод:

{'info': {'page': 1,
'results': 1,
'seed': '7895e9ae93304faf',
'version': '1.4'},
'results': [{'cell': '(067) A18-5169',
'dob': {'age': 53, 'date': '1971-08-19T15:29:58.280Z'},
'email': 'krilach.gricak@example.com'}
...и так далее...


В то время, как обычный print(), вывел бы все в одной строке:

{'results': [{'gender': 'male', 'name': {'title': 'Mr', 'first': 'Krilach', 'last': 'Gricak'}, 'location': {'street': {'number': 7028 и так далее...


🔥 pprint — мастхэв для тех, кто работает со вложенными структурами данных!


➡️ Ссылка на документацию

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥41
📱 Python 3.13 vs Python 3.12

Группа IT-энтузиастов сравнила производительность Python 3.13 с предыдущей версией — Python 3.12 — на различных конфигурациях компьютеров.

Всего было проведено 100 тестов на устройствах с чипами AMD Ryzen 7000 серии и Intel Core 13-го поколения.

Результаты неоднозначные... подробнее, по ссылке ниже 🔽


➡️ Перейти к статье

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
📔 Как написать отличный README для Python-проекта?

README — это визитная карточка вашего проекта. Правильно оформленный файл README помогает пользователям и разработчикам понять, что делает проект, как его использовать и как в него внести изменения.

🍔 Основные пункты README

1. Название и краткое описание проекта

Начните с названия проекта и короткого описания его цели. Например:

"CryptoTrack — это минималистичный трекер криптовалют, который позволит следить за состоянием вашего инвест портфеля в режиме реального времени."


2. Мотивация и цели проекта

Объясните, почему вы создали проект, какие задачи он решает, и какие проблемы помогает решить.

3. Структура установки

Опишите, как установить проект и его зависимости. Например:

git clone https://github.com/username/project.git
cd project
pip install -r requirements.txt


4. Примеры использования

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

5. Раздел "Как внести вклад"

Объясните, как другие могут предложить свои улучшения, указав на правила для пул-реквестов и код-стайла.

6. Документация и ресурсы

Добавьте ссылки на более подробную документацию, если она существует, а также на полезные ресурсы и статьи.

Многие могут пренебрегать составлением readme, однако хорошо структурированный readmy делает ваш проект доступнее и упрощает его использование.


🐍 Ghostly Python | #гайды
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
📱 Как создать свою криптовалюту | Разбираемся с блокчейн на Python

Создание своей криптовалюты это не простая, но увлекательная задача, требующая знаний в различных областях. И первая область, с котором мы с вам разберемся - блокчейн, а точнее, как его реализовать на Python с применением ООП!

➡️ Ссылка на урок

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
📎 Шпаргалка по работе с Параллелизмом в Python

Эта шпаргалка объясняет основы параллелизма в Python. Она охватывает понятия процессов и потоков, описывает многопоточность для задач ввода-вывода и приводит примеры кода для создания потоков, безопасных очередей и оптимизации производительности.

🗄 Скачать PDF из архива

🐍 Ghostly Python | #шпаргалки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
🖼️ Библиотека: Marshmallow

Marshmallow — это библиотека для сериализации, десериализации и валидации сложных объектов данных. Она позволяет преобразовывать Python-объекты в форматы, такие как JSON, и обратно.

Подходит для разработчиков, которым нужно легко управлять валидацией данных и преобразованиями между объектами и форматами, такими как JSON или YAML.

⚙️ Пример использования:

from marshmallow import Schema, fields, ValidationError

# Определение схемы
class UserSchema(Schema):
name = fields.String(required=True)
age = fields.Integer(required=True)

# Данные для сериализации
user_data = {"name": "Alice", "age": 24}

# Сериализация (объект Python -> JSON)
schema = UserSchema()
result = schema.dump(user_data)
print(result)

# Десериализация (JSON -> объект Python)
user_json = '{"name": "Bob", "age": 30}'
try:
user = schema.loads(user_json)
print(user)
except ValidationError as err:
print(err.messages)


✔️ Установка

pip install marshmallow


➡️ Ссылка на документацию

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🤩1
🗂 Скрипт: сортировка файлов в каталоге

Этот Python-скрипт организует файлы в каталоге, сортируя их по подкаталогам на основе расширений файлов.

ℹ️ Как работает

1. Скрипт запрашивает путь к каталогу и проверяет его наличие.
2. Перебирает все файлы в каталоге.
3. Определяет расширение файла и создает подкаталог с именем расширения.
4. Перемещает каждый файл в соответствующий подкаталог.

📂 Скрипт с подробным комментированием кода уже в архиве:


➡️ Скачать...

🐍 Ghostly Python | #скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥61🍌1
📱 Основы архитектуры для джунов: как строить масштабируемые и чистые приложения на Python

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

Этот гайд объясняет важные концепции, такие как разделение на уровни, паттерны проектирования и принципы SOLID, которые помогут джунам строить масштабируемые и чистые Python-приложения. Следуя этим принципам, можно значительно упростить поддержку кода и подготовиться к росту нагрузки.

➡️ Перейти к гайду

🐍 Ghostly Python | #гайды
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2
👣 Создание сайта любой сложности | Веб-приложение на Python

В ходе курса, вы будете создавать полноценное веб-приложение на Python, с использованием фреймворка Flask. Научитесь создавать сайты и веб-приложения любой сложности на Python, освоив все основные аспекты работы с фреймворком Flask.

➡️ Ссылка на курс

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
🖼️ Библиотека: deepface

Deepface — удобная библиотека для Python, которая распознает лица и анализирует их характеристики: возраст, пол, эмоции и расу.

Она применяет гибридный подход, объединяя несколько мощных моделей, таких как VGG-Face, FaceNet, OpenFace, DeepFace, DeepID, ArcFace, Dlib, SFace и GhostFaceNet, что делает её особенно гибкой и точной.

⚙️ Пример использования (сравнение пары лиц)

from deepface import DeepFace

result = DeepFace.verify(
img1_path = "face_1.jpg",
img2_path = "face_2.jpg",
)


Результат — словарь с данными анализа изображений, позволяющий глубже понять схожесть лиц.

✔️ Установка

pip install deepface


➡️ Ссылка на документацию

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥32
💬 Что такое yield в Python? Самый популярный вопрос на StackOverflow

yield — ключевое слово в Python, которое часто вызывает вопросы у новичков, но при этом открывает мощные возможности для оптимизации кода. По сути, yield позволяет функции запомнить свое состояние и продолжить выполнение с того же места, где остановилась. Это делает функцию "генератором", который возвращает значения одно за другим, по мере их запроса.

⚙️ Как это работает?

Вместо привычного return, который завершает функцию и возвращает значение, yield приостанавливает её выполнение, но не закрывает. При каждом вызове генератора он продолжает выполнение с того места, где остановился. Это полезно, когда нужно работать с большим объемом данных, так как генераторы создают элементы "лениво", по одному за раз, не занимая много памяти.

✔️ Простой пример

def countdown(n):
while n > 0:
yield n
n -= 1

for number in countdown(5):
print(number)


Этот код будет выводить числа от 5 до 1 по одному, при каждом вызове yield, экономя память и время.

📌 Почему это важно?

Использование yield особенно полезно при работе с большими списками, потоками данных или бесконечными последовательностями. Генераторы позволяют обходить ограничение памяти и выполнять операции быстрее за счет обработки данных на лету.

Подробнее вы можете изучить в статье по ссылке — ознакомиться ⬅️


🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
💬 Задача: Что будет выведено в консоль?

numbers = [1, 2, 3, 4, 5]
result = 0

for i in range(1, len(numbers), 2):
result += numbers[i]

print(result)


Выберите вариант ответа ниже 🔽

🐍 Ghostly Python | #задачи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Ответ:
Anonymous Quiz
19%
5
45%
6
12%
7
24%
9
👍7