从源代码获取Python类的起始和结束位置
假设我有一个文件,里面定义了几个类,像这样:
class A:
def somemethod(self): pass
...more methods...
class B:
def othermethod(self): pass
....even more methods...
我怎么才能知道类 A 的定义从哪一行开始,到哪一行结束?类 B 又是从哪一行开始,到哪一行结束?如果我把这个文件加载到编辑器里,选中“Class A”这段文字,想在类 A 的定义末尾插入一个方法,我该怎么做呢?我觉得把源代码当作普通文本文件来读可能不太好。
有没有办法在不导入和检查的情况下,找出定义了哪些类,它们实现了哪些方法,哪些类是它们的子类等等?
总之,我需要知道这些东西的开始和结束位置,这样才能对源代码进行操作,比如给类添加方法,给现有的方法添加装饰器,从现有类中提取所有方法并创建一个新类,等等。
我的目标是为 Python 的 IDE/编辑器创建智能提示功能。