Строки кода внутри класса в Python?
Я пытаюсь найти количество строк кода в классе или функции, которые хранятся в файле Python. Мой код выглядит следующим образом... я хочу найти количество строк кода в классе, а не во всем файле.... есть ли хороший способ сделать это??
import inspect
import foo
for a,b in inspect.getmembers(foo):
if inspect.isclass(b):
print a # find a class within the file
2 ответа
Решение
len(inspect.getsourcelines(a)[0])
Из документации inspect.getsourcelines:
Возвращает список исходных строк и номер начальной строки для объекта.
Вот почему вам нужен индекс 0
Вы все еще можете использовать 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])
вернусь ты хочешь.