LibCST: преобразование произвольных узлов в код
Можно ли выгрузить произвольный узел LibCST в код Python? Мой вариант использования заключается в том, что я хочу извлечь код для функций, соответствующих определенной схеме именования. Я могу извлечьFunctionDef
узлы, которые мне нужны, но я, похоже, не нахожу способа преобразовать их в код.
1 ответ
Возможно использование метода code_for_node
от Module
класс.
Вы используете его следующим образом:
import libcst
function_def = libcst.parse_statement("def hello_world():\n print('Hello World')")
print(libcst.Module([]).code_for_node(function_def))
и это сгенерирует результат:
def hello_world():
print('Hello World')