Skip to content

Instantly share code, notes, and snippets.

@LouisdeBruijn
Last active June 14, 2021 19:36
Show Gist options
  • Save LouisdeBruijn/c3ffc25504f7391f062ca2a9d78f3f60 to your computer and use it in GitHub Desktop.
Save LouisdeBruijn/c3ffc25504f7391f062ca2a9d78f3f60 to your computer and use it in GitHub Desktop.
import ast
import astpretty
import importlib
script = pathlib.Path("path_to_a_python_file")
with open(script, "r") as source:
tree = ast.parse(source.read())
# astpretty.pprint(tree)
for child in ast.iter_child_nodes(tree):
if isinstance(child, (ast.FunctionDef, ast.ClassDef, ast.AsyncFunctionDef)):
if child.name not in ["main"]:
docstring_node = child.body[0]
module = importlib.import_module(script.stem)
f_ = getattr(module, child.name)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment