我正在尝试在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]))
答案 0 :(得分:2)
您可能只需要从getsourcelines
的结果中自行解析评论。如果忽略多行注释,这只是意味着检查第一个非空白字符是否为#
。对于使用三引号的多行注释,您可以执行类似操作,同时跟踪您是否在注释块中。