Готов поспорить, вы кодите на Python достаточно давно, чтобы чувствовать себя уверенно... ровно до того момента, как открываете терминал в понедельник утром и думаете: «Должен же быть способ получше, чтобы автоматизировать весь этот бардак».
Хорошие новости: он есть.
После 4 с лишним лет создания автоматизаций, отладки катастроф, которые я сам же и устроил, и написания скриптов, которые каким-то образом выставляют меня кибер-волшебником в глазах друзей, далёких от Python, я отобрал 11 чрезвычайно практичных и редких Python-скриптов, которые сделают ваш ежедневный рабочий процесс гладким, как свежеустановленный дистрибутив Linux.
Поехали.
Да, Python может разоблачить того самого соседа, который «случайно» угадал ваш пароль от Wi-Fi.
import subprocess def get_connected_devices(): result = subprocess.check_output("arp -a", shell=True).decode() devices = [line for line in result.split('\n') if "dynamic" in line.lower()] for d in devices: print(d) get_connected_devices()
Если вы работаете удалённо, медленный интернет - убийца продуктивности. Этот скрипт даёт вам мгновенную видимость всех MAC/IP-адресов, использующих вашу сеть.
Этот скрипт очень недооценён.
import subprocess import time def on_call(): result = subprocess.check_output("lsof -i | grep zoom", shell=True).decode() return bool(result.strip()) def mute_system(): subprocess.call(["amixer", "-D", "pulse", "sset", "Master", "mute"]) while True: if on_call(): mute_system() time.sleep(2)
Почему это важно: Клацанье вашей клавиатуры на совещаниях? В прошлом. Ваш босс думает, что вы печатаете роман? В прошлом.
Копируете что угодно. Перевод появляется автоматически.
import pyperclip from googletrans import Translator import time translator = Translator() last = "" while True: text = pyperclip.paste() if text != last: last = text translated = translator.translate(text, dest='en').text print("Translated:", translated) time.sleep(0.5)
Каждый раз, когда вы получаете сообщения от клиентов на языках, которые вы делаете вид, что понимаете.
Живой бэкап, как в VS Code… но для любой папки.
import time import shutil from watchdog.observers import Observer from watchdog.events import FileSystemEventHandler class Handler(FileSystemEventHandler): def on_modified(self, event): if event.is_directory: return shutil.copy(event.src_path, f"{event.src_path}.bak") print("Backup created:", event.src_path) observer = Observer() observer.schedule(Handler(), path="your/folder/path", recursive=True) observer.start() try: while True: time.sleep(1) except KeyboardInterrupt: observer.stop()
Вы никогда больше не потеряете код, потому что забыли, что существует Git.
Для тестировщиков, маркетологов или того самого друга, который ведёт 5 сайд-проектов.
import subprocess def open_profile(profile_name): subprocess.Popen([ "google-chrome", f"--profile-directory={profile_name}" ]) open_profile("Profile 2")
Сценарий использования: Отладка cookies, тестирование логинов, управление аккаунтами. Ноль трения.
Именно для таких экспериментов и создана платформа BotHub. Это ваша личная песочница, где можно не только запускать и отлаживать подобные Python-скрипты, но и экспериментировать с мощнейшими нейросетями, создавая куда более сложные и интеллектуальные автоматизации.
Всё это - без VPN и с удобной оплатой российскими картами.
По ссылке вы можете получить 100 000 бесплатных токенов для первых задач и приступить к работе прямо сейчас!
import os import shutil from datetime import datetime src = "/path/to/screenshots" for f in os.listdir(src): if f.lower().endswith(".png"): date = datetime.fromtimestamp( os.path.getmtime(os.path.join(src, f)) ).strftime("%Y-%m-%d") folder = os.path.join(src, date) os.makedirs(folder, exist_ok=True) shutil.move(os.path.join(src, f), os.path.join(folder, f)) print(f"Moved {f} → {folder}")
Почему это недооценено: Скриншоты плодятся как кролики, а этот скрипт их кастрирует.
Краткое содержание PDF = апгрейд жизни.
import PyPDF2 from transformers import pipeline summarizer = pipeline("summarization") def summarize_pdf(file): reader = PyPDF2.PdfReader(file) text = "".join(page.extract_text() for page in reader.pages) summary = summarizer(text[:3000])[0]['summary_text'] return summary print(summarize_pdf("report.pdf"))
PDF на 52 страницы превращается в имейл из 5 строк.
import subprocess def clean_code(): subprocess.call(["autoflake", "--in-place", "--remove-unused-variables", "-r", "."]) subprocess.call(["isort", "."]) subprocess.call(["black", "."]) clean_code()
Для старших разработчиков: Чистый репозиторий - счастливый репозиторий. Этот скрипт превращает ваш Python в поэзию.
Каждое утро → состояние CPU, памяти, диска, батареи.
import psutil import smtplib def report(): text = f""" CPU: {psutil.cpu_percent()}% RAM: {psutil.virtual_memory().percent}% Disk: {psutil.disk_usage('/').percent}% Battery: {psutil.sensors_battery().percent}% """ return text def send_mail(body): server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login("[email protected]", "password") server.sendmail("[email protected]", "[email protected]", body) server.quit() send_mail(report())
Почему инженеры это любят: Душевное спокойствие, доставленное в ваш почтовый ящик.
Этот скрипт - просто вишенка на торте.
import ast import time def time_block(code): start = time.time() exec(code) end = time.time() return end - start def analyze(code): tree = ast.parse(code) long_lines = [n.lineno for n in tree.body if isinstance(n, ast.For)] print("Possible slow loops at:", long_lines) with open("your_script.py") as f: code = f.read() print("Execution Time:", time_block(code)) analyze(code)
Именно тот тип скриптов, которые старшие инженеры используют втихаря.
Полностью приватная система синхронизации. Никаких Notion. Никаких Google Docs. Никакой облачной слежки.
import subprocess import time def sync(): subprocess.call(["git", "add", "."]) subprocess.call(["git", "commit", "-m", "auto-sync"]) subprocess.call(["git", "push"]) while True: sync() time.sleep(300)
Ваши заметки синхронизируются каждые 5 минут. Вы контролируете репозиторий. Никакой привязки к поставщику, никакой платы.
Источник


