我正在尝试查找存储在python文件中的类或函数内的代码行数 我的代码是这样的...我想要的是找到一个类中的代码行而不是所有文件...有没有什么好方法可以做到?
import inspect
import foo
for a,b in inspect.getmembers(foo):
if inspect.isclass(b):
print a # find a class within the file
答案 0 :(得分:3)
len(inspect.getsourcelines(a)[0])
来自inspect.getsourcelines docs:
返回对象的源行和起始行号列表。
这就是你需要0索引的原因
答案 1 :(得分:3)
您仍然可以使用inspect
,
In [6]: from test import A
In [7]: import inspect
In [8]: inspect.getsourcelines(A)
Out[8]:
(['class A(object):\n',
' pass\n',
' pass\n',
' pass\n',
' pass\n',
' pass\n',
' pass\n',
' pass\n',
' pass\n'],
1)
len(inspect.getsourcelines(A)[0])
会返回您想要的内容。