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')

Другие вопросы по тегам