PyLinux - Всё о Linux, Python и IT

PyLinux - Всё о Linux, Python и IT

@pylinux0

У нас ты найдешь 👇- библиотеки и скрипты python- инструменты linux- полезный софт- важнейшие новости из мира ITСвязь с админом: @ghostifixКупить рекламу: https://telega.in/c/pylinux0РКН: https://clck.ru/3NywZG

11 103 подписчиков
Несколько раз в неделюКачество: 100%🇷🇺 RUПоследний пост: 23.02.2026
Открыть в TelegramПоделиться в TG

Последние посты

PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT@pylinux0

🐍 Walrus-оператор := — присвоение прямо внутри выражения:= (моржовый оператор) — позволяет присвоить значение переменной и сразу его проверить.1️⃣ Чтение файла чанками# Было:while True: chunk = f.read(1024) if not chunk: break process(chunk)# Стало:while chunk := f.read(1024): process(chunk)2️⃣ Поиск по регулярке# Было:match = re.search(r'\d+', text)if match: print(match.group())# Стало:if match := re.search(r'\d+', text): print(match.group())3️⃣ Фильтрация с тяжёлым вычислением# Было — func() вызывается дважды:results = [func(x) for x in data if func(x) > 0]# Стало — один вызов:results = [y for x in data if (y := func(x)) > 0]4️⃣ Ввод от пользователя# Было:while True: cmd = input("> ") if cmd == "exit": break execute(cmd)# Стало:while (cmd := input("> ")) != "exit": execute(cmd)💡 Не злоупотребляйте — если строка становится нечитаемой, лучше разбить на две. Моржовый оператор хорош там, где убирает дублирование, а не там, где добавляет сложность.Сохраняй и ставь — 👍😎 PyLinux | #python

5 мар. 2026 г.2 060В Telegram
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT@pylinux0

👩‍💻 Шпаргалка по mount / umount / fstabМонтирование — подключение диска, флешки или сетевой папки к файловой системе. 1️⃣ Просмотр дисковlsblk # список устройствblkid # UUID и файловые системыdf -hT # свободное место2️⃣ Монтированиеmount /dev/sdb1 /mnt/usb # базовоеmount -t ntfs /dev/sdb1 /mnt/usb # указать ФСmount -o ro /dev/sdb1 /mnt/usb # только чтениеmount -o loop image.iso /mnt/iso # ISO-образ3️⃣ Размонтированиеumount /mnt/usb # обычноеumount -l /mnt/usb # ленивое (если "busy")lsof +f -- /mnt/usb # кто мешает?4️⃣ fstab — автомонтированиеsudo nano /etc/fstabUUID=xxxx-xxxx /mnt/data ext4 defaults 0 2server:/share /mnt/nfs nfs defaults,_netdev 0 0mount -a # проверить без перезагрузкиblkid /dev/sdb1 # узнать UUID📌 Частые опцииdefaults — стандартные настройкиro / rw — чтение / чтение-записьnofail — не падать если диска нетnoexec — запрет запуска файлов💡 Используйте UUID= вместо /dev/sdX в fstab — имена дисков могут меняться!😎 PyLinux | #linux #cheatsheet

4 мар. 2026 г.2 090В Telegram
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT@pylinux0

⏱️ Cronmaster — удобный способ управления cron-заданиямиИнструмент с современным веб-интерфейсом для создания, настройки и мониторинга задач по расписанию.📌 Ключевые фичи🔵 Удобный web-интерфейс: Всё через браузер: создавай, редактируй, удаляй задачи прямо в несколько кликов. Графическое расписание и поиск нужных задач.🔵Human-friendly синтаксис: Не нужно вспоминать, что означает 0 5 * * 1-5 — формируйте задания привычным языком ("каждый будний день в 5:00").🔵 Живое логирование: Смотрите логи выполнения cron-задач в реальном времени, а история логов поможет разобраться с багами или упавшими задачами.🔵 REST API: Подключайте автоматизацию и интеграции: можно управлять заданиями программно, собирать метрики, запускать задачи извне.🔵 SSO с OIDC: Единая авторизация с корпоративным аккаунтом или провайдером.📱 Ссылка на репозиторий😎 PyLinux | #tools

3 мар. 2026 г.2 220В Telegram
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT@pylinux0

👩‍💻 Чёрное окошко Linux: погружение в подсистему TTYНачав изучать тему терминалов в Linux, вы можете почувствовать, что по отдельности вроде бы всё понятно, но разница между понятиями и их суть всё равно ускользает. Консоль, терминал, TTY, виртуальная консоль, виртуальный терминал, эмулятор терминала, оболочка — это просто «вот то чёрное окошко, куда вводят команды Linux». На самом деле за этим окошком скрывается целая цепочка разных сущностей — от компонентов ядра до пользовательских программ. Цель данной статьи — объяснить подсистему TTY и избавить вас от этого неприятного ощущения.🖥 Перейти к статье😎 PyLinux | #articles

2 мар. 2026 г.2 360В Telegram
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT@pylinux0

📱 Асинхронное чтение и запись файлов с aiofilesaiofiles даёт асинхронное API для работы с файлами и реально ускоряет обработку данных без блокировок.⚙️ Пример использованияimport aiofilesimport asyncioasync def main(): # Асинхронная запись async with aiofiles.open('data.txt', mode='w') as f: await f.write('Привет, это асинхронно!\n') # Асинхронное чтение async with aiofiles.open('data.txt', mode='r') as f: content = await f.read() print(content)asyncio.run(main())📌 Где использовать?🔵 Асинхронные Telegram-боты (aiogram, pyrogram). Чтобы не тормозить при сохранении голосовых, фото, документов.🔵 FastAPI/Sanic веб-сервисы. Для загрузки и скачивания файлов одновременно десятками пользователей.🔵 Парсеры, забирающие/сохраняющие большие объёмы текста или файлов. Можно читать, сохранять или архивировать пока основной цикл занят работой.🔵 High-load задачи: логи, upload/download, temp-файлы и кеши.💡 Дополнительно В aiofiles легко делать стриминг-обработку больших файлов (читать по строке, по чанку) — тогда память не тратится зря.async with aiofiles.open('bigfile.csv') as f: async for line in f: process(line)🔗 Ссылка на документацию😎 PyLinux | #python

1 мар. 2026 г.2 390В Telegram
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT@pylinux0

📱 MiniCase: Сброс зависших процессов через Python (psutil + kill)Иногда в Linux зависает программа: её окно не закрывается, или она подвисла и жрёт 100% CPU/памяти, а через стандартный killall не найдёшь нужный процесс по имени.Можно это автоматизировать и сделать гибче на Python — особенно удобно для серверов и скриптов.📌 Что делаем🔵 Находим зависшие процессы по ключевым признакам: — по имени — по владельцу — по загрузке CPU/памяти — по длительности жизни (stuck > NN секунд)🔵 Завершаем их корректно (SIGTERM), а если не помогает — жёстко (SIGKILL).⚙️ Базовый примерimport psutilimport timeimport osfrom datetime import datetimeTARGET_NAME = "my_freezing_app" # Имя процессаfor proc in psutil.process_iter(['pid', 'name', 'cpu_percent', 'create_time']): try: if proc.info['name'] == TARGET_NAME: # Опционально: фильтруем по “долго живёт” или грузит систему uptime = time.time() - proc.info['create_time'] cpu = proc.cpu_percent(interval=0.5) print(f"PID {proc.pid}, uptime: {uptime:.0f}s, cpu: {cpu}") if uptime > 600 or cpu > 80: # Завис >10 минут или грузит на 80% print(f"Trying to terminate {proc.pid} ...") proc.terminate() # SIGTERM try: proc.wait(timeout=5) print(f"Process {proc.pid} terminated.") except psutil.TimeoutExpired: print(f"Forcing kill {proc.pid} ...") proc.kill() # SIGKILL except (psutil.NoSuchProcess, psutil.AccessDenied): pass💡 Пояснения🔵 Можно фильтровать по разным критериям: слишком долгий запуск, имя пользователя, дочерние процессы и даже по пути к бинарю.🔵 Удобно запускать разово или в crontab на сервере.🔵 psutil работает почти на всех Linux (и на Windows/macOS тоже).Если было полезно, сохраняй и ставь — 👍😎 PyLinux | #MiniCase

27 февр. 2026 г.2 380В Telegram
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT@pylinux0

📂 broot — интерактивный файловый менеджер в терминалеbroot — это удобный и современный инструмент для навигации по файловой системе прямо в терминале. Умеет быстро строить дерево директорий, искать файлы по части имени (fuzzy), удалять, копировать, переименовывать — всё с мгновенной реакцией.🚀 Фишки broot:🔵 Молниеносный fuzzy-поиск: начни набирать часть имени — результат сразу виден на дереве.🔵 Визуальное дерево каталогов: видишь полный путь к файлу и размер папки сразу.🔵 Превью файлов: быстро поглядывать на содержимое, не выходя в редактор.🔵 Удаление, копирование, переименование файлов: просто через хоткеи.🔵 Открытие файлов или переход в директорию одной клавишей.🔵 Массовые действия (batch): переименование, удаление и т.д.✔️ Установка# Для Ubuntu/Debian:sudo apt install broot# Через cargo:cargo install broot# Или скачайте из релизов: https://dystroy.org/broot/download/📱 Ссылка на репозиторий😎 PyLinux | #linux #tools

25 февр. 2026 г.2 580В Telegram
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT@pylinux0

🐧 Почему 2026-й может стать годом десктопного Linux?Статья о том, почему именно 2026-й называют “переломным” для Linux на ПК. Автор анализирует причины роста интереса: массовый уход с Windows, проблемы с приватностью в новых ОС, успехи популярных DE (например, KDE и COSMIC), простые магазины приложений и адаптацию экосистемы под пользователей, не знакомых с Linux.В статье — подборка свежих и интересных дистрибутивов, которые буквально ворвались в топ.🖥 Перейти к статье😎 PyLinux | #linux #articles

24 февр. 2026 г.2 740В Telegram
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT — пост в ТГ канале
PyLinux - Всё о Linux, Python и IT@pylinux0

📱 fake-useragent — рандомный User-AgentПри парсинге сайта получаете бан? Скорее всего проблема в User-Agent. requests по умолчанию отправляет:python-requests/2.31.0Сервер видит это и понимает — бот. Блокирует.fake-useragent решает проблему — подставляет реальный User-Agent случайного браузера при каждом запросе. ⚙️ Пример — парсим заголовки страницimport requestsfrom fake_useragent import UserAgentfrom html.parser import HTMLParserua = UserAgent()urls = [ "https://github.com", "https://stackoverflow.com", "https://python.org",]# Простой парсер для <title>class TitleParser(HTMLParser): def __init__(self): super().__init__() self.in_title = False self.title = "" def handle_starttag(self, tag, attrs): if tag == "title": self.in_title = True def handle_data(self, data): if self.in_title: self.title = data.strip() self.in_title = Falsefor url in urls: agent = ua.random headers = {"User-Agent": agent} r = requests.get(url, headers=headers, timeout=5) parser = TitleParser() parser.feed(r.text) print(f"🌐 {url}") print(f" Title: {parser.title}") print(f" Agent: {agent[:50]}...") print(f" Статус: {r.status_code}") print()🌐 https://github.com Title: GitHub: Let's build from here Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ... Статус: 200🌐 https://stackoverflow.com Title: Stack Overflow Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 14_1) ... Статус: 200🌐 https://python.org Title: Welcome to Python.org Agent: Mozilla/5.0 (X11; Linux x86_64; rv:121.0) ... Статус: 200Каждый запрос — новый браузер. Сервер видит Chrome, потом Safari, потом Firefox. Не бот, а обычные пользователи.✔️ Установкаpip install fake-useragent requestsЕсли было полезно — 👍😎 PyLinux | #python_libs

23 февр. 2026 г.2 600В Telegram

Похожие каналы