5

Is it possible to dump an arbitrary LibCST node into Python code? My use case is that I want to extract the code for functions that match a specific naming scheme. I can extract the FunctionDef nodes that I need, but I don't seem to find a way to convert them to code.

Georgios Gousios
  • 2,405
  • 1
  • 24
  • 34

1 Answers1

5

It is possible using the method code_for_node from the Module class.

You use it as follow:

import libcst

function_def = libcst.parse_statement("def hello_world():\n  print('Hello World')")
print(libcst.Module([]).code_for_node(function_def))

and that would generate the output:

def hello_world():
    print('Hello World')

Sebastian Kreft
  • 7,819
  • 3
  • 24
  • 41