Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python LibCST:将任意节点转换为代码_Python_Abstract Syntax Tree_Libcst - Fatal编程技术网

Python LibCST:将任意节点转换为代码

Python LibCST:将任意节点转换为代码,python,abstract-syntax-tree,libcst,Python,Abstract Syntax Tree,Libcst,是否可以将任意LibCST节点转储到Python代码中?我的用例是,我想为匹配特定命名方案的函数提取代码。我可以提取所需的FunctionDef节点,但我似乎找不到将它们转换为代码的方法。可以使用模块类中的方法 您可以按如下方式使用它: import libcst function_def = libcst.parse_statement("def hello_world():\n print('Hello World')") print(libcst.Module([]

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

可以使用
模块
类中的方法

您可以按如下方式使用它:

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