计算python文件中每个类的代码行数?

时间:2012-10-21 23:47:06

标签: python inspect lines-of-code

我正在尝试在python文件中查找类中的代码行数。我使用len(inspect.getsourcelines(b)[0])来返回每个类的代码行数在文件但问题它除了代码行之外还计算注释和文档字符串..有没有办法丢弃注释和文档字符串?

import inspect
import foo

for a,b in inspect.getmembers(foo): 
    if inspect.isclass(b):
        print(a)
        print(len(inspect.getsourcelines(b)[0]))

1 个答案:

答案 0 :(得分:2)

您可能只需要从getsourcelines的结果中自行解析评论。如果忽略多行注释,这只是意味着检查第一个非空白字符是否为#。对于使用三引号的多行注释,您可以执行类似操作,同时跟踪您是否在注释块中。