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

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

Цены: @heywan_media

Реклама на бирже: https://telega.in/c/+IOa15XDNbxRkYzNi
Download Telegram
Не удержался... 😅

У вас было такое?)))


🐍 Ghostly Python | #мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
😁22🔥5👍2
➡️ Автоматизация взаимодействия с экраном в Python: быстрый гайд

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

✔️ Установка

pip install pyautogui


⚙️ Основные возможности

1️⃣ Управление мышью: перемещение, клик, двойной клик, прокрутка.

import pyautogui

pyautogui.moveTo(100, 200) # Переместить курсор в точку (100, 200)
pyautogui.click() # Клик левой кнопкой мыши
pyautogui.doubleClick() # Двойной клик
pyautogui.rightClick() # Правый клик


2️⃣ Работа с клавиатурой: ввод текста, нажатие клавиш, сочетания клавиш.

pyautogui.write('Hello, world!', interval=0.1)  # Ввод текста с задержкой 0.1 сек
pyautogui.press('enter') # Нажатие клавиши Enter
pyautogui.hotkey('ctrl', 's') # Сочетание клавиш Ctrl+S


3️⃣ Скриншоты и поиск элементов: захват экрана и поиск изображений на нём.

screenshot = pyautogui.screenshot('screenshot.png')  # Сохранение скриншота
location = pyautogui.locateOnScreen('button.png') # Поиск кнопки по изображению
if location:
pyautogui.click(location) # Клик по кнопке, если найдена


4️⃣ Предотвращение ошибок: защита от непредвиденных ситуаций.

pyautogui.FAILSAFE = True  # Движение мыши в угол экрана завершит программу


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

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

🐍 Ghostly Python | #гайды
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥42
This media is not supported in your browser
VIEW IN TELEGRAM
⚙️ Vanna — это Python-фреймворк с открытым исходным кодом, который использует LLM для создания SQL-запросов на основе естественного языка.

✔️ Всё просто: сначала обучаешь модель на своих данных, а потом можешь задавать вопросы на обычном языке. В ответ получаешь готовые SQL-запросы, которые можно сразу запускать в своей базе данных.

🐱 Ссылка на GitHub

🐍 Ghostly Python | #инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍126
🚀 Асинхронная работа с базами данных в Python: SQLAlchemy + Asyncio

Базы данных – ключевой элемент любого современного приложения, и их правильное использование влияет на производительность и стабильность сервиса. Но как обеспечить эффективное взаимодействие с БД в условиях высокой нагрузки?

В статье разбирается, как работать с одной из самых популярных библиотек для работы с базами данных – SQLAlchemy. А чтобы код не блокировался при выполнении запросов, мы добавим асинхронность с Asyncio.

🖥 Перейти к статье

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71🔥1
📱 PyChallenger: онлайн практика Python

PyChallenger — это ресурс, который позволяет изучать Python на практике с помощью интерактивных туториалов, решения различных задач и викторин по коду.

📌 Вы изучите:

🟢 Python Basics — основы: переменные, операторы, строки, списки, циклы, условия и функции.
🟢 Intermediate Python — продвинутые темы: f-строки, распаковка данных, области видимости, list comprehension, лямбда-функции.
🟢 Basic Data Analysis — NumPy, Matplotlib и pandas для анализа данных.

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

🐍 Ghostly Python | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94🔥1
⚙️ Библиотека: JsonObject

JsonObject — удобная библиотека для быстрого преобразования json в объекты Python. Крайне удобно, когда необходимо принимать данные по API и парсить их в определенные структуры.

⚙️ Можно даже делать вложенные объекты друг в друга:

class NameUser(JsonObject):
username = StringProperty()
name = StringProperty()

class User(JsonObject):
name_info = ObjectProperty(NameUser)
active = BooleanProperty(default=False)
date_joined = DateTimeProperty()
tags = ListProperty()

user = User({
'name': 'Daniil',
'username': 'Daniil123',
'active': False,
'date_joined': '2023-03-05T02:46:58Z',
'tags': ['new', 'user', 'python']
})
print(user.name_info.name)
# -> Daniil


Эта библиотека способна значительно ускорить процесс работы с внешними API и обработки JSON данных, особенно если требуется структурировать и обрабатывать их поля.

✔️ Установка

pip install jsonobject


🐱 Ссылка на GitHub

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Media is too big
VIEW IN TELEGRAM
👩‍💻 Телеграм Бот на Python с нуля!

С ростом популярности Telegram, растет и спрос на разработку ботов. И в этом видео, вы узнаете как создавать ботов на Python с использованием библиотеки aiogram.

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

📱 Ссылка на источник

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1341
📄 Парсинг лог-файлов на Python: Быстро и просто

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

Наш скрипт будет открывать лог-файл, искать строки, содержащие слово "ERROR", и сохранять их в отдельный файл для дальнейшего анализа.

⚙️ Исходный код

import re

# Указываем имя лог-файла и создаем регулярное выражение для поиска "ERROR"
log_file = 'server.log'
error_pattern = re.compile(r'ERROR')

# Открываем лог-файл для чтения и новый файл для записи ошибок
with open(log_file, 'r', encoding='utf-8') as infile, \
open('errors.log', 'w', encoding='utf-8') as outfile:
for line in infile:
if error_pattern.search(line):
outfile.write(line)

print("Парсинг завершен. Все ошибки сохранены в errors.log")


💬 Как это работает?

1. Импортируем модуль re для работы с регулярными выражениями.
2. Задаем имя лог-файла (server.log) и компилируем шаблон поиска ошибок.
3. Читаем лог построчно: если строка содержит "ERROR", записываем её в новый файл errors.log.
4. После выполнения скрипта все найденные ошибки окажутся в файле errors.log.

Такой подход помогает быстро отфильтровать важную информацию, особенно если лог-файл большой.


🐍 Ghostly Python | #скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥2
📱 Telegram Web App, FastAPI и вебхуки в одном приложении

Из этой статьи, вы узнаете как создать полноценное веб-приложение на FastAPI, которое будет взаимодействовать с Telegram-ботом через WebApp и вебхуки.

В основе проекта — асинхронное взаимодействие с базой данных SQLite с помощью SQLAlchemy, что позволит нам реализовать масштабируемое и эффективное приложение.

🖥 Перейти к статье

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124
👩‍💻 The Ultimate Python Handbook

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

📌 Что внутри?

🟢 Основы Python: установка, переменные, типы данных, операторы.
🟢 Строки, списки, словари, множества и их возможности.
🟢 Условные выражения и циклы.
🟢 Функции и рекурсия.
🟢 Работа с файлами: чтение, запись, обработка.
🟢 Объектно-ориентированное программирование и наследование.
🟢 Продвинутые темы: виртуальные окружения, lambda-функции, обработка исключений, и многое другое.
🟢 Практические задачи и мини-проекты, включая создание чат-бота и голосового помощника.

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

🐍 Ghostly Python | #шпаргалки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72
Media is too big
VIEW IN TELEGRAM
👩‍💻 Базовое приложение на FastAPI

В этом уроке, автор рассказывает и показывает как начать работать с FastAPI, как выстроить проект, настроить работу с базой данных и миграции.


📱 Ссылка на источник

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

Schematics — это библиотека для простой и мощной валидации и преобразования данных в Python. Она позволяет создавать модели данных с различными правилами и типами, что обеспечивает строгий контроль над структурой данных.

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

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

from schematics.models import Model
from schematics.types import StringType, IntType, EmailType
from schematics.exceptions import DataError

# Определение модели данных
class User(Model):
name = StringType(required=True, max_length=10)
age = IntType(required=True, min_value=18, max_value=99)
email = EmailType(required=True)

# Проверка корректных данных
user_data = {'name': 'Alice', 'age': 24, 'email': 'alice@example.com'}
try:
user = User(user_data)
user.validate()
print("Данные корректны:", user.to_native())
except DataError as e:
print("Ошибки в данных:", e)

# Попытка валидации некорректных данных
invalid_data = {'name': '', 'age': 'twenty', 'email': 'bob@example'}
try:
invalid_user = User(invalid_data)
invalid_user.validate()
except DataError as e:
print("Ошибки в данных:", e)


✔️ Установка

pip install schematics


🐱 Ссылка на GitHub

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
🏭 Применение ML для оптимизации работы питательных электронасосов в ТЭЦ металлургического комбината

Как машинное обучение помогло оптимизировать работу насосов на ТЭЦ и сэкономить заводу 19,6 млн рублей.

Разбираем алгоритмы, параметры оборудования и почему даже одинаковые агрегаты работают по-разному.

🖥 Перейти к статье

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥21
Грустная правда 🫠

🐍 Ghostly Python | #мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8😭4
👩‍💻 Аннотация overload - перегрузки в Python

Разбираем @overload из модуля typing: как аннотировать функции с разными сигнатурами, улучшить автодополнение в IDE и сделать код понятнее.

📱 Ссылка на источник

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
📱 Как элегантно подавлять ошибки в Python — contextlib.suppress

Обычно, когда нужно игнорировать определённые исключения, мы можем встретить такой код:

try:
os.remove("file.txt") # Удаляем файл, если он существует
except FileNotFoundError:
pass # Игнорируем ошибку, если файла нет


Но Python предлагает более лаконичный способ — contextlib.suppress:

from contextlib import suppress
import os

with suppress(FileNotFoundError):
os.remove("file.txt") # Ошибка просто не возникнет


📌 Преимущества:

🟢 Улучшает читаемость кода.
🟢 Подходит для случаев, когда ошибка не критична.
🟢 Убирает лишние try-except блоки.

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4❤‍🔥1
🔜 Как увеличить скорость python-скриптов: C-расширения и Python/C API

Разбираем, как ускорить Python с C-расширениями. Пишем свою библиотеку на C, подключаем через Python.h, тестируем на алгоритмах и сравниваем с чистым Python.

🖥 Перейти к статье

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
📄 Мониторинг использования памяти в Python

Сегодня напишем простой Python-скрипт для мониторинга использования оперативной памяти. Если использование RAM превышает заданный порог, скрипт отправит уведомление. Это поможет предотвратить перегрузку системы.

⚙️ Исходный код

import psutil
import smtplib
from email.mime.text import MIMEText

# Порог использования памяти (в %)
THRESHOLD = 80
# Email для уведомления
EMAIL = "your_email@example.com"
SMTP_SERVER = "smtp.example.com"
SMTP_PORT = 587
SMTP_LOGIN = "your_email@example.com"
SMTP_PASSWORD = "your_password"

# Получаем текущее использование RAM
memory_usage = psutil.virtual_memory().percent

if memory_usage > THRESHOLD:
msg = MIMEText(f"Внимание! Использование памяти достигло {memory_usage}%")
msg["Subject"] = "Memory Alert"
msg["From"] = EMAIL
msg["To"] = EMAIL

with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as server:
server.starttls()
server.login(SMTP_LOGIN, SMTP_PASSWORD)
server.sendmail(EMAIL, EMAIL, msg.as_string())

print(f"Текущее использование памяти: {memory_usage}%")


💬 Как это работает?

1. Используем psutil для получения текущего уровня использования оперативной памяти.
2. Если значение превышает 80%, отправляем уведомление по email.
3. SMTP-сервер используется для отправки писем, можно заменить на другой почтовый сервис.

Такой скрипт полезен для мониторинга состояния серверов и предупреждения нехватки памяти.


🐍 Ghostly Python | #скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
👩‍💻 Зачем учить Python в 2025: Плюсы и минусы языка и перспективы карьеры в IT

Стоит ли учить Python в 2025 году? Разбираем плюсы и минусы языка, его востребованность в IT и карьерные перспективы. А ещё немного юмора от Егора Векслера.

📱 Ссылка на источник

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