3

是否可以将任意 LibCST 节点转储到 Python 代码中?我的用例是我想提取与特定命名方案匹配的函数的代码。我可以提取FunctionDef我需要的节点,但我似乎没有找到将它们转换为代码的方法。

4

1 回答 1

3

可以使用类中的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')

于 2020-08-14T23:34:42.710 回答