Forwarded from Usman's Laboratory (ㅤㅤUsman [RU - ENG])
Добро пожаловать на мой новый сайт. ✅
Скорее это лендинг-страничка, побуждающая подписаться на мой канал.✅
Ссылка на сайт⛓
usman-lab.alwaysdata.net
Свою старую страничку снёс. Если её кто-то ещё помнит...
Оцените новый дизайн реакциями 👇
Скорее это лендинг-страничка, побуждающая подписаться на мой канал.
Ссылка на сайт
usman-lab.alwaysdata.net
Свою старую страничку снёс. Если её кто-то ещё помнит...
Оцените новый дизайн реакциями 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1👍1
Использование модуля ast для анализа и модификации исходного кода Python
Модуль ast (Abstract Syntax Tree) позволяет анализировать и модифицировать исходный код Python на уровне его абстрактного синтаксического дерева (AST). Это мощный инструмент для тех, кто хочет динамически изменять код, строить анализаторы или трансформировать Python-программы на лету.
🗣 Этот модуль предоставляет доступ к внутренним структурам Python, что делает его полезным для статического анализа кода или автоматического изменения исходного текста программы.
✔️ 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 (с поддержкой текстовых, файловых и графических форматов) и запускает функцию-обработчик при каждом обновлении.
📱 Python 3.8+
💾 Модули: clipboard_monitor, Pillow, argparse
📌 Clipboard Event Listener использует библиотеку clipboard-monitor (с поддержкой текстовых, файловых и графических форматов) и запускает функцию-обработчик при каждом обновлении.
👍2🔥2
pip install pytsk3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2❤1
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] 🇷🇺)
👍1
Как в Python работает метод call() и когда его имеет смысл использовать?
Ответ ⬇️
Метод 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
PyOxidizer
PyOxidizer — это инструмент, позволяющий упаковать Python-проект в единый исполняемый файл, включающий интерпретатор Python, все необходимые библиотеки и ресурсы. Это позволяет запускать ваши приложения без необходимости предварительной установки Python или каких-либо зависимостей.
Хотя есть варианты куда проще...
PyOxidizer — это инструмент, позволяющий упаковать Python-проект в единый исполняемый файл, включающий интерпретатор Python, все необходимые библиотеки и ресурсы. Это позволяет запускать ваши приложения без необходимости предварительной установки Python или каких-либо зависимостей.
Хотя есть варианты куда проще...
🔥2❤1👍1
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
Forwarded from Usman's Laboratory (ㅤㅤАбу-Сулейман)
yt-dlp, os, sys, ffmpeg — используется для скачивания и обработки медиафайлов.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 углами и достаточной площадью (чтобы игнорировать шумы), и считает их. Работает быстро и не грузит слабые ПК.
👍2❤1
Вот минимальный каркас твоей программы на Tkinter, который показывает автозагрузку текущего пользователя из реестра Windows с кнопками «Снять с автозагрузки» и «Посмотреть в проводнике»:
————————
Как использовать:
⦁ Запусти скрипт на 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
import time
import subprocess
WHITELIST = ["Device1_ID", "Device2_ID"]
CHECK_INTERVAL = 1 # секунда
def list_usb_devices():
# команда lsusb — показывает USB-устройства на Linux
output = subprocess.check_output(["lsusb"]).decode()
return output.splitlines()
def monitor():
while True:
devices = list_usb_devices()
for d in devices:
# простая проверка: если строка не содержит ни одного whitelist ID
if all(w not in d for w in WHITELIST):
# небелое устройство — активируем защиту
print("Unknown USB device detected:", d)
# Пример действия: выключить систему
subprocess.call(["shutdown", "now", "-h"])
return
time.sleep(CHECK_INTERVAL)
if __name__ == "__main__":
monitor()
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
import argparse
import subprocess
def autocut(input_files, output, silent_speed=10, silent_threshold=600, denoise=False):
for input_vid in input_files:
cmd = ["ffmpeg", "-i", input_vid]
# добавляется фильтр, который ускоряет silent части
vfilt = f"silencedetect=n={silent_threshold}dB"
# здесь опции ускорения, убирание шума и т.д.
# пример:
cmd.extend([
"-vf", vfilt,
"-filter_complex", f"[0:v]setpts=PTS/ {silent_speed}[v]",
"-map", "[v]", "-map", "0:a",
output or f"{input_vid}_faster.mp4"
])
if denoise:
cmd.extend(["-af", "arnndn"])
print("Running:", " ".join(cmd))
subprocess.run(cmd, check=True)
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Speed up silent parts in videos.")
parser.add_argument("--input", nargs='+', required=True, help="Input video files *.mp4")
parser.add_argument("--output", help="Output filename or directory")
parser.add_argument("--silent-speed", type=int, default=10, help="How much to speed up silent parts")
parser.add_argument("--silent-threshold", type=int, default=600, help="What is considered silent (threshold in milliseconds/sound level)")
parser.add_argument("--denoise", action="store_true", help="Remove background noise using ffmpeg model")
args = parser.parse_args()
autocut(args.input, args.output, args.silent_speed, args.silent_threshold, args.denoise)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3