Использование внешних процессов в Python с помощью subprocess
В мире программирования бывают моменты, когда необходимо взаимодействовать с внешними программами из кода на Python. Для этих задач отлично подходит модуль subprocess, который предоставляет удобный способ запуска внешних процессов, передачи данных им и получения результатов выполнения.
Что такое subprocess?
subprocess - это модуль Python, который предоставляет множество возможностей для запуска новых процессов, подключения к существующим процессам, а также обмена данными между вашим кодом и внешними программами.
Пример использования subprocess:
import subprocess
# Простой пример: выполнение команды "ls" в командной строке
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE, text=True)
# Вывод результата выполнения команды
print(result.stdout)
В данном примере мы использовали subprocess.run для выполнения команды "ls -l". Параметр stdout=subprocess.PIPE указывает на перенаправление вывода команды в переменную result.stdout. Параметр text=True гарантирует, что вывод будет в текстовом формате.
Передача данных и получение результата:
import subprocess
# Передача данных в команду и получение результата
input_data = "Hello, subprocess!"
result = subprocess.run(['echo', input_data], stdout=subprocess.PIPE, text=True)
# Вывод результата выполнения команды
print(result.stdout)
В данном примере мы использовали команду echo для вывода переданных данных. subprocess.run позволяет передавать данные в команду через параметр input.
subprocess также предоставляет множество других функций для более сложных сценариев взаимодействия с процессами, таких как запуск процесса в фоновом режиме, обработка ошибок, а также потоковый вывод данных.
#python#subprocess
Анализ текста
Второй пост из серии про анализ тг-чата. В первом показывала, как получить архив чата и вытащить из него сообщения. На этот раз разбираю, как посчитать частотность слов и определить части речи✒️
Файл ipynb с кодом и примечаниями выложила на github:
https://github.com/alsosha/text_analysis/blob/main/text_analysis.ipynb
Остается пост про генерацию облака слов, постараюсь с ним не затягивать😜
P.S. В карточках упомянула, что кроме pymorphy3 есть и другие подобные библиотеки. Например, spacy, natasha, nltk и т.д. Сравнение результатов лемматизации нашла вот тут, а общее сравнение библиотек тут. Можно попробовать разное и подобрать удобный вариант под себя💞
#python
Парсинг тг-чата
Показывала тут дата-открытки с облаками слов из всех сообщений коллеги и обещала рассказать о процессе парсинга тг-чата и анализе текста с помощью python. Рассказываю и делюсь кодом👾
Файл ipynb выложила на github. Внутри не только код, но и комментарии с объяснением алгоритма:
https://github.com/alsosha/tg_chat_parser/blob/main/tg_chat_parser.ipynb
Для наглядности также сделала карточки — изучайте и задавайте вопросы в комментариях, если будут💞
Впереди еще два поста: про анализ текста и генерацию облака слов в svg бесплатно и без регистрации😄
P.S. Еще недавно выложила код для анализа видео и рассказала про алгоритм в карточках.
#python
Закинула на github файл с кодом (python) для анализа цвета видео👾
https://github.com/alsosha/video_color_analysis/blob/main/video_analysis.ipynb
В прошлом году постила алгоритм и его описание тремя отдельными частями:
1. Подготовка данных
2. Анализ данных
3. Визуализация данных
Пример применения кода — мой небольшой проект про цвета трилогии "Матрица".
#python
📰 JDownloader site hacked to replace installers with Python RAT malware
The website for the popular JDownloader download manager was compromised earlier this week to distribute malicious Windows and Linux installers, with the Windows payload found deploying a Python-based remote access trojan.
🔗 Source: https://www.bleepingcomputer.com/news/security/jdownloader-site-hacked-to-replace-installers-with-python-rat-malware/
#linux#python
📰 PyPI Packages Deliver ZiChatBot Malware via Zulip APIs on Windows and Linux
Cybersecurity researchers have discovered three packages on the Python Package Index (PyPI) repository that are designed to stealthily deliver a previously unknown malware family called ZiChatBot on Windows and Linux systems."While these wheel packages do implement the features described on their PyPI web pages, their true purpose is to covertly deliver malicious files," Kaspersky.
🔗 Source: https://thehackernews.com/2026/05/pypi-packages-deliver-zichatbot-malware.html
#linux#python
📰 LiteLLM loses game of Trivy pursuit, gets compromised
Python interface for LLMs infected with malware via polluted CI/CD pipeline Two versions of LiteLLM, an open source interface for accessing multiple large language models, have been removed from the Python Package Index (PyPI) following a supply chain attack that injected them with malicious credential-stealing code.…
🔗 Source: https://go.theregister.com/feed/www.theregister.com/2026/03/24/trivy_compromise_litellm/
#python#opensource