我想尽可能准确地计算多文件 Python 项目中的代码行数,但总数中不包括注释、文档字符串或空行。
我首先尝试使用 cloc,它作为 Debian 软件包提供。但是 cloc 将大多数文档字符串视为代码 - 即使它们是注释。(更新:不再 - cloc 的最新版本现在将 Python 文档字符串视为注释。)
我注意到下面的一些评论说文档字符串应该包含在总数中,因为它们可能被代码用来影响运行时的行为,因此算作程序代码/数据/配置的一部分。一个突出的例子是“ply”,它要求您使用文档字符串编写函数,据我回忆,这些文档字符串包含对程序操作至关重要的语法和正则表达式。然而,在我看来,这似乎是一个非常罕见的例外。大多数时候,文档字符串的行为就像注释一样。具体来说,我知道一个事实对于我想要测量的所有代码都是正确的。所以我想从我的行数中排除它们。