python:获取导入函数的抽象语法树?

2024-04-25 23:33:03 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我已经在解释器中导入了一个python模块。如何在解释器中获得导入模块(以及其中的任何函数和类)的抽象语法树?我不想重新解析源文件。谢谢!在


Tags: 模块函数语法解释器源文件
2条回答

除了从源代码中获取AST似乎没有其他方法。如果你解释一下为什么你不想重新解析源文件,也许我们可以帮你。在

也许你能从这个食谱中找到一些灵感:

A function that outputs a human-readable version of a Python AST.

或者将compilerinspect结合使用(当然,它仍然使用源代码):

>>> import compiler, inspect
>>> import re # for testing 
>>> compiler.parse(inspect.getsource(re))
Module('Support for regular expressions (RE). \n\nThis module provides ...

相关问题 更多 >