Как сделать скрипт .py читаемым другим скриптом python? - PullRequest
2 голосов
/ 03 ноября 2019

Я хочу создать программу (на Python), которая анализирует другие скрипты Python. Поэтому мне нужен способ сделать .py-файлы читаемыми для программы на Python.

Я подумал о том, чтобы просто преобразовать .py в .txt и затем использовать методы .startswith и .find. Есть ли способ конвертировать .py в .txt?

Также не стесняйтесь рассказать о других способах анализа. Важно то, что такие структуры, как операторы if, циклы и уровни отступов, выясняются.

1 Ответ

2 голосов
/ 03 ноября 2019

Также не стесняйтесь рассказать о других способах анализа. Важно, чтобы такие структуры, как операторы if, циклы и уровни отступов, были вычислены.

Если вы хотите сохранить структуру такого типа точно так же, как Python сам анализирует файл, выследует использовать стандартную библиотеку ast модуль (https://docs.python.org/3/library/ast.html). AST означает «абстрактное синтаксическое дерево»: представление кода в том виде, в котором его понимает Python.

Основной шаблон использования - вызов ast.parse(file)(https://docs.python.org/3/library/ast.html#ast.parse) в файле, который вы хотите проанализировать. Вы получите обратно объект (https://docs.python.org/3/library/ast.html#ast.AST), который является вершиной дерева узлов AST.

Возможно, вам будет интереснопри выборе исходного кода для black (https://github.com/psf/black),, который является средством форматирования кода Python, использующим ast для проверки того, что отформатированный код ведет себя точно так же, как и код, на котором он был первоначально запущен.

...