Исследование структуры кода с помощью модуля ast
При работе с кодом на Python, иногда возникает необходимость анализа его структуры. Для этого идеально подходит модуль ast (Abstract Syntax Trees), который предоставляет мощные инструменты для работы с абстрактными синтаксическими деревьями.
Что такое ast?
ast - это модуль Python, который позволяет разбирать и анализировать исходный код на Python, представляя его в виде абстрактного синтаксического дерева (AST). AST представляет собой структурированное представление кода, которое легко интерпретировать и анализировать.
Пример использования модуля ast:
import ast
code = "print('Hello, ast!')"
tree = ast.parse(code)
print(ast.dump(tree))
В данном примере мы использовали функцию ast.parse для разбора строки кода с помощью модуля ast. Функция ast.dump выводит структуру AST в удобочитаемом формате.
Анализ структуры кода:
import ast
code = """
def greet(name):
print(f'Hello, {name}!')
"""
tree = ast.parse(code)
for node in ast.walk(tree):
if isinstance(node, ast.FunctionDef):
print(f"Найдена функция: {node.name}")
elif isinstance(node, ast.Print):
print("Обнаружен оператор печати")
В данном примере мы использовали модуль ast для анализа структуры кода. Функция ast.walk позволяет обойти все узлы AST, а затем мы проверяем их типы для выделения определенных элементов, таких как функции или операторы.
Модуль ast также предоставляет возможности для более сложных операций, таких как изменение кода, создание новых выражений и многое другое.
#python#ast#анализкода
Генерация облака слов☁️
Завершающий пост серии про анализ тг-канала⚡️ После сбора всех данных можно наконец-то приступить к визуализации. В данном случае разбираю создание облака слов с помощью библиотеки wordcloud, т.к. в базовом экселе / гугл-таблицах его не сделаешь😣
Файл ipynb с кодом и примечаниями на github:
https://github.com/alsosha/word_cloud_generator/blob/main/word_cloud_generator.ipynb
Предыдущие посты:
1. Парсинг тг-чата
2. Анализ текста
Примеры проектов с использованием кода из постов:
1. Дата-открытки для коллеги
2. Анализ новогодних открыток
3. Подборка инфографики с анализом текстов
💞
#python
Анализ текста
Второй пост из серии про анализ тг-чата. В первом показывала, как получить архив чата и вытащить из него сообщения. На этот раз разбираю, как посчитать частотность слов и определить части речи✒️
Файл 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