Python заметки
70 subscribers
70 photos
7 files
35 links
Download Telegram
🔥 Полезные библиотеки Python

cupy

📌 cupy — это высокопроизводительная библиотека для численных вычислений, совместимая с API NumPy, но оптимизированная для работы на GPU (CUDA и AMD ROCm). Она позволяет ускорить операции над массивами в десятки раз без изменения привычного синтаксиса NumPy, идеально подходит для ML, научных вычислений и обработки больших данных.

Документация
https://docs.cupy.dev/en/stable/
👍3💯21
Forwarded from Usman's Laboratory (ㅤㅤUsman [RU - ENG])
Добро пожаловать на мой новый сайт.
Скорее это лендинг-страничка, побуждающая подписаться на мой канал.

Ссылка на сайт
usman-lab.alwaysdata.net

Свою старую страничку снёс. Если её кто-то ещё помнит...

Оцените новый дизайн реакциями 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍1
Использование модуля ast для анализа и модификации исходного кода Python

Модуль ast (Abstract Syntax Tree) позволяет анализировать и модифицировать исходный код Python на уровне его абстрактного синтаксического дерева (AST). Это мощный инструмент для тех, кто хочет динамически изменять код, строить анализаторы или трансформировать Python-программы на лету.

🗣 Этот модуль предоставляет доступ к внутренним структурам Python, что делает его полезным для статического анализа кода или автоматического изменения исходного текста программы.

✔️ ast открывает множество возможностей для тех, кто занимается метапрограммированием или созданием собственных инструментов для анализа и оптимизации Python-кода.
🔥2👍1👏1
Clipboard Event Listener — скрипт, который реагирует на изменения в буфере обмена, считывает текст, файлы или изображения и выполняет пользовательские действия. Отлично подходит для создания авто‑сохранения скриншотов, логирования скопированного текста или авто‑загрузки новых файлов.

📱 Python 3.8+
💾 Модули: clipboard_monitor, Pillow, argparse

📌 Clipboard Event Listener использует библиотеку clipboard-monitor (с поддержкой текстовых, файловых и графических форматов) и запускает функцию-обработчик при каждом обновлении.
👍2🔥2
pytsk3

📌pytsk3 — это Python-обёртка для The Sleuth Kit (TSK) — набора инструментов для цифровой криминалистики и анализа файловых систем.

📌Особенности библиотеки:
🟡Доступ к образам дисков (raw, EWF, VMDK и т.д.)
🟡Чтение NTFS, FAT, exFAT, EXT, HFS+ и других ФС
🟡Получение информации о файлах, метаданных, удалённых данных
🟡Используется в форензике, OSINT и анализе вредоносных носителей
pip install pytsk3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥21
DABL

DABL (Data Analytics in Business Language) — это библиотека Python, которая упрощает использование машинного обучения для анализа данных. Она предоставляет простой и понятный интерфейс для создания моделей машинного обучения, а также для их обучения и оценки.
🔥3👍2
Forwarded from Usman's Laboratory (ㅤㅤУсман [RU - ENG] 🇷🇺)
Проверять каждого продавца, вполне возможно.

🟢 Фан-стат, покажет какие имена используются под одним аккаунтом, а также группы и каналы в которых состоит, сообщения и увлечения.
➡️ Перейти

Сканеры криптокошельков, покажут реальный баланс и активы по адресу кошелька. Такие как tonscan (для toncoin), solscan (для solana) и тд.

Реакции ⚡️
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
Forwarded from Usman's Laboratory (ㅤㅤУсман [RU - ENG] 🇷🇺)
Скинуть все сканеры криптокошельков?
Anonymous Poll
75%
Да
25%
Нет, давай ""Автоматизацию задач""
👍1
Как в Python работает метод call() и когда его имеет смысл использовать?

Ответ ⬇️
Метод call() позволяет сделать объект вызываемым, то есть, работать с ним как с функцией. Этот метод можно добавить в любой класс, чтобы экземпляр класса можно было вызвать напрямую. Это полезно, когда класс выполняет одну основную задачу и может быть использован как замена функции, сохраняя при этом внутреннее состояние и структуру.

Пример использования ⚙️
class Multiplier:
def __init__(self, factor):
self.factor = factor

def __call__(self, value):
return value * self.factor

double = Multiplier(2)
print(double(5)) # 10
print(double(8)) # 16
2🔥2👍1
heapq.nlargest() и heapq.nsmallest()

В Python функции heapq.nlargest() и heapq.nsmallest() позволяют получить n наибольших или наименьших элементов из коллекции.
🔥3👍21
⚙️ functools.lru_cache

В Python декоратор functools.lru_cache кэширует результаты вызовов функции, что позволяет ускорить выполнение повторяющихся вычислений. Это удобно для оптимизации функций с дорогостоящими вычислениями.
🔥2👍1
функция vars() возвращает словарь атрибутов объекта или локальные переменные
🔥3👍2
PyOxidizer

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

Хотя есть варианты куда проще...
🔥21👍1
📌 Parallelizer — скрипт / утилита внутри python_utilities, который помогает запускать одну и ту же функцию в разных средах (локально, многопроцессно или на кластере через MPI) без изменения кода. То есть ты пишешь функцию “обычно”, а Parallelizer распределит задачи на worker’ы — в зависимости от окружения. 

👨‍💻 Пример использования:
from python_utilities.parallel import Parallelizer, make_data_iterator
from python_utilities.scripting import setup_logging

def process_item(item, constant=10):
    return item * constant

def main():
    setup_logging()
    data = list(range(100))
    par = Parallelizer(func=process_item, data=data, n_jobs=4)
    results = par.run()
    print(results)

if __name__ == "__main__":
    main()


📌 Что делает:
🟢 Унифицирует способы параллелизации: локально или распределённо
🟢 Не требует переписывания кода функций под “parallel” — простая обёртка
🟢 Подходит для обработки больших наборов данных или задач, которые можно распараллелить
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
Forwarded from Usman's Laboratory (ㅤㅤАбу-Сулейман)
Я уже через 1-2 месяца (а мб быстрее) запущу свой web app в Telegram. 🏆

Подробности пока не раскрываю. 🔒

Но уже хочу знать, на какое количество спонсоров вы готовы подписаться при ОП (Обязательной Подписке)?

Есть варианта:

🟢 Добавить кучу (10+) обязательных подписок на спонсоров и сделать быстрые выплаты для юзеров.

Добавить минимальное количество спонсоров (2+), но тогда и выплаты юзерам будут реже.

ОП — это каналы, на которые нужно подписаться, чтобы получить доступ к приложению, боту или услуге. Без подписки вход будет закрыт. 👑
Please open Telegram to view this post
VIEW IN TELEGRAM
yt-downloader-multi — скрипт для скачивания видео и аудио с YouTube и других платформ массово

📱 Python 3.9+
ℹ️ Модули: yt-dlp, os, sys, ffmpeg — используется для скачивания и обработки медиафайлов.

📌 yt-downloader-multi — утилита командной строки, которая позволяет скачивать видео и аудио с YouTube (включая целые плейлисты) и сохранять их в указанную папку. Полезно для локального архива видео, оффлайн-просмотра и создания коллекций медиа.

👨‍💻 Пример использования:
yt-downloader-multi https://www.youtube.com/watch?v=VIDEO_ID --format mp3 --quality 192k

📌 Что делает:
🟢 Скачивает одиночные видео по ссылке
🟢 Скачивает все видео из плейлистов
🟢 Сохраняет контент в указанную папку, создавая её при необходимости
🟢 Поддерживает оффлайн-архивирование медиаконтента
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
import cv2
import numpy as np

def count_rectangles(image_path):
    img = cv2.imread(image_path)
    if img is None:
        return "Ошибка: не удалось загрузить изображение."

    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    blurred = cv2.GaussianBlur(gray, (5, 5), 0)
    edges = cv2.Canny(blurred, 50, 150)

    contours, _ = cv2.findContours(edges.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

    rectangle_count = 0
    for cnt in contours:
        approx = cv2.approxPolyDP(cnt, 0.02 * cv2.arcLength(cnt, True), True)
        if len(approx) == 4 and cv2.contourArea(cnt) > 1000:
            rectangle_count += 1

    return rectangle_count

# Пример использования:
# print(count_rectangles('path_to_image.jpg'))


Эта функция ищет контуры, фильтрует те, что с 4 углами и достаточной площадью (чтобы игнорировать шумы), и считает их. Работает быстро и не грузит слабые ПК.
👍21
Вот минимальный каркас твоей программы на Tkinter, который показывает автозагрузку текущего пользователя из реестра Windows с кнопками «Снять с автозагрузки» и «Посмотреть в проводнике»:

import tkinter as tk
from tkinter import messagebox
import winreg
import os
import subprocess

class AutoStartupManager:
    def __init__(self, root):
        self.root = root
        self.root.title("Диспетчер автозагрузок")
        self.root.geometry("600x400")

        self.startup_items = []

        self.listbox = tk.Listbox(root, width=80)
        self.listbox.pack(padx=10, pady=10, fill=tk.BOTH, expand=True)

        btn_frame = tk.Frame(root)
        btn_frame.pack(pady=5)

        self.btn_disable = tk.Button(btn_frame, text="Снять с автозагрузки", command=self.disable_startup)
        self.btn_disable.pack(side=tk.LEFT, padx=10)

        self.btn_open = tk.Button(btn_frame, text="Посмотреть в проводнике", command=self.open_in_explorer)
        self.btn_open.pack(side=tk.LEFT, padx=10)

        self.load_startup_items()

    def load_startup_items(self):
        reg_path = r"Software\Microsoft\Windows\CurrentVersion\Run"
        try:
            key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, reg_path)
            i = 0
            while True:
                name, value, _ = winreg.EnumValue(key, i)
                self.startup_items.append((name, value))
                self.listbox.insert(tk.END, f"{name} — {value}")
                i += 1
        except OSError:
            pass

    def disable_startup(self):
        sel = self.listbox.curselection()
        if not sel:
            messagebox.showwarning("Ошибка", "Выберите элемент из списка.")
            return
        index = sel
        name, path = self.startup_items[index]
        reg_path = r"Software\Microsoft\Windows\CurrentVersion\Run"
        try:
            key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, reg_path, 0, winreg.KEY_SET_VALUE)
            winreg.DeleteValue(key, name)
            key.Close()
            self.listbox.delete(index)
            del self.startup_items[index]
            messagebox.showinfo("Успех", f"Программа '{name}' снята с автозагрузки.")
        except Exception as e:
            messagebox.showerror("Ошибка", f"Не удалось снять с автозагрузки:\n{e}")

    def open_in_explorer(self):
        sel = self.listbox.curselection()
        if not sel:
            messagebox.showwarning("Ошибка", "Выберите элемент из списка.")
            return
        index = sel
        name, path = self.startup_items[index]
        exe_path = path.strip('"').split(' ')
        if os.path.exists(exe_path):
            subprocess.Popen(f'explorer /select,"{exe_path}"')
        else:
            messagebox.showwarning("Ошибка", "Файл не найден.")

if __name__ == "__main__":
    root = tk.Tk()
    app = AutoStartupManager(root)
    root.mainloop()


————————

Как использовать:
⦁ Запусти скрипт на Windows.
⦁ Отобразится список автозагрузок текущего пользователя.
⦁ Выбери элемент и нажми нужную кнопку.
2👍2
Мб сделать архив в котором будут 100+ полезных готовых скриптов?
Anonymous Poll
86%
Да кнш
14%
Не интересно
🔥2👍1