我在运行时判断代码.我想得到一个函数/方法装饰的所有decorator .例如,如果它是@classmethod
,我想得到字符串:"@classmethod",如果它是@path(MyClass.myop)
,我想得到字符串"@path(MyClass.myop)".
我知道,我可以try 分析源代码,但这是棘手的,我相信所有这些信息必须存储在某个地方,应该是可检索的.
如何实现?
我在运行时判断代码.我想得到一个函数/方法装饰的所有decorator .例如,如果它是@classmethod
,我想得到字符串:"@classmethod",如果它是@path(MyClass.myop)
,我想得到字符串"@path(MyClass.myop)".
我知道,我可以try 分析源代码,但这是棘手的,我相信所有这些信息必须存储在某个地方,应该是可检索的.
如何实现?
多亏了 comments 者,我意识到这项任务是没有希望的,同时,我意识到这种类型的处理应该使用ast模块来执行,在那里,除了 comments 之外,所有东西都可以相对容易地跟踪和提取.
所以我的回答是:use ast instead.