[PYTHON:TODAY]
Python скрипты, нейросети, боты, автоматизация. Всё бесплатно! Приват: https://boosty.to/pythontoday YouTube: https://clck.ru/3LfJhM Канал админа: @akagodlike Чат: @python2day_chat Сотрудничество: @web_runner Канал в РКН: https://clck.ru/3GBFVm
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام [PYTHON:TODAY]
تُعد قناة [PYTHON:TODAY] (@python2day) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 63 864 مشتركاً، محتلاً المرتبة 2 000 في فئة التكنولوجيات والتطبيقات والمرتبة 9 364 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 63 864 مشتركاً.
بحسب آخر البيانات بتاريخ 01 سبتمبر, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -95، وفي آخر 24 ساعة بمقدار -18، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 14.70%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 7.71% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 9 387 مشاهدة. وخلال اليوم الأول يجمع عادةً 4 922 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 59.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل github, soft, install, pip, docker.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Python скрипты, нейросети, боты, автоматизация. Всё бесплатно!
Приват: https://boosty.to/pythontoday
YouTube: https://clck.ru/3LfJhM
Канал админа: @akagodlike
Чат: @python2day_chat
Сотрудничество: @web_runner
Канал в РКН: https://clck.ru/3GBFVm”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 02 سبتمبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
multiprocessing
> Идеален для тяжёлых вычислений на нескольких ядрах.
* Process — запуск нового процесса
* Pool — пул воркеров
* Queue, Pipe — обмен данными
* Manager — разделение объектов между процессами
* Lock, Semaphore — синхронизация
* cpu_count() — сколько у тебя вообще ядер?
⚡️ threading
> Для I/O задач, где важна отзывчивость: загрузка веб-страниц, параллельный логинг и т.д.
* Thread — запуск нового потока
* Timer, Event, Barrier — управление временем и синхронизацией
* enumerate(), current_thread() — управление потоками
🌐 asyncio
> Современный подход: запуск кучи задач внутри одного потока.
* async / await — ключевые слова
* asyncio.run(), asyncio.gather() — запуск корутин
* Поддержка библиотек:
* aiohttp — запросы к сайтам
* aiofiles — работа с файлами
🔒 Условия гонки и безопасность
Race condition (состояние гонки) — когда два потока одновременно хотят изменить одну и ту же переменную. Кто первый встал — того и тапки. Итог: баги, которых потом не найдёшь.
Потокобезопасность достигается через:
* Lock, RLock
* Локальные данные потока (threading.local())
✅ Асинхронность в деталях
Асинхронная программа:
* запускает задачу;
* пока ждёт ответа — делает что-то ещё;
* возвращается к задаче, когда пришёл ответ.
Пример:
import asyncio
import aiohttp
async def fetch(url):
async with aiohttp.ClientSession() as session:
async with session.get(url) as resp:
return await resp.text()
async def main():
html = await fetch('https://example.com')
print(html)
asyncio.run(main())
📌 Главное по теме:
🔧 Сравнение подходов:
📌 multiprocessing
• Параллельность: ✅
• Делит память: ❌
• Для чего: тяжёлые CPU-задачи
📌 threading
• Параллельность: ❌ (из-за GIL)
• Делит память: ✅
• Для чего: задачи с вводом/выводом (I/O)
📌 asyncio
• Параллельность: ❌
• Делит память: ✅
• Для чего: сетевые и файловые задачи
🔥 Закрепим:
* Нужна мощь ядра? — multiprocessing
* Много сетевых вызовов и ожиданий? — asyncio
* Быстрая и простая многозадачность? — threading
* GIL — особенность Python, но не приговор
📂 Сохраняй шпаргалку, пригодится!
@python2day
#doc #python #cheatsheetfrom io import StringIO
from pdfminer.pdfinterp import PDFPageInterpreter, PDFResourceManager
from pdfminer.pdfpage import PDFPage
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
# PDFMiner Analyzers
rsrcmgr = PDFResourceManager()
sio = StringIO()
codec = "utf-8"
laparams = LAParams()
device = TextConverter(rsrcmgr, sio, codec=codec, laparams=laparams)
interpreter = PDFPageInterpreter(rsrcmgr, device)
# path to our input file
pdf_file = "sample.pdf"
# Extract text
pdfFile = open(pdf_file, "rb")
for page in PDFPage.get_pages(pdfFile):
interpreter.process_page(page)
pdfFile.close()
# Return text from StringIO
text = sio.getvalue()
print(text)
# Freeing Up
device.close()
sio.close()
Пример извлечения изображений:
import fitz
import io
from PIL import Image
# path to our input file
pdf_file = "sample.pdf"
# Input PDF file
pdf_file = fitz.open(pdf_file)
for page_no in range(len(pdf_file)):
curr_page = pdf_file[page_no]
images = curr_page.getImageList()
for image_no, image in enumerate(curr_page.getImageList()):
# get the XREF of the image
xref = image[0]
# extract the image bytes
curr_image = pdf_file.extractImage(xref)
img_bytes = curr_image["image"]
# get the image extension
img_extension = curr_image["ext"]
# load it to PIL
image = Image.open(io.BytesIO(img_bytes))
# save it to local disk
image.save(open(f"page{page_no+1}_img{image_no}.{img_extension}", "wb"))
⚙️ GitHub/Инструкция
#python #soft #githubimport requests
from typing import Optional
def get_exchange_rate(base_currency: str, target_currency: str) -> Optional[float]:
"""
Получает курс обмена из base_currency в target_currency.
:param base_currency: Базовая валюта (например, 'USD').
:param target_currency: Целевая валюта (например, 'RUB').
:return: Курс обмена или None в случае ошибки.
"""
url = f"https://open.er-api.com/v6/latest/{base_currency}"
try:
response = requests.get(url, timeout=10)
response.raise_for_status()
data = response.json()
rate = data["rates"].get(target_currency)
if rate is None:
print(f"Курс для {target_currency} не найден.")
return None
return rate
except requests.RequestException as e:
print(f"Ошибка при запросе к API: {e}")
return None
if __name__ == "__main__":
base = "USD"
target = "RUB"
rate = get_exchange_rate(base, target)
if rate:
print(f"Курс {base} к {target}: {rate}")
else:
print("Не удалось получить курс обмена.")
# Курс USD к RUB: 80.926191
👨💻 Подходит для автоматизации, личных проектов или просто чтобы каждый день знать, пора ли покупать iPhone или подождать.
📂 Код уже готов — бери, дорабатывай, засовывай в своего ассистента.
#python #code #softРазбей вот эту огромную задачу [ОПИСАНИЕ ЗАДАЧИ] на конкретные шаги, каждый из которых занимает не больше 5 минут. Сделай так, чтобы было понятно с чего начать и что делать.Бустим себя дофамином:
Пересобери мой список дел [СПИСОК ЗАДАЧ] так, чтобы чередовались интересные и рутинные задачи. Добавь немного новизны и приятных бонусов, чтобы сохранить мотивацию на день.Ваш личный помощник в принятии решений:
Помоги составить схему принятия решений в ситуации [ОБЫЧНАЯ СИТУАЦИЯ], чтобы снизить ментальную нагрузку и не выгорать от постоянного выбора.Разрушаем прокрастинацию:
Разбери, почему я избегаю делать [КОНКРЕТНАЯ ЗАДАЧА]. В чём причина - страх, скука, перфекционизм? Предложи точечные микрошаги, которые помогут сдвинуться с места.Фокусируемся на задачи:
Настрой для меня рабочую среду, в которой я реально смогу сосредоточиться на [КОНКРЕТНАЯ ЗАДАЧА]. Включи всё: организация пространства, цифровые ограничения и сенсорная стимуляция.Ищем мотивацию:
Мне нужно сделать [ЗАДАЧА], но я не могу начать. Переведи это задание в более увлекательную форму с быстрым вознаграждением или привяжи к моим интересам в теме [ТЕМА].Придумываем ритуал для особо сложных задач:
Придумай двухминутный ритуал для старта [СЛОЖНАЯ ЗАДАЧА], чтобы преодолеть стартовое сопротивление и разогнаться без боли.Направляем гиперфокус:
Помоги направить мою природную способность к гиперфокусу на [ВАЖНЫЙ ПРОЕКТ]. Настрой триггеры, окружение и стартовый ритуал, чтобы это супероружие работало на пользу.#nn
