Я хочу как можно точнее подсчитывать строки кода в проекте с несколькими файлами Python, но без учета комментариев, докстронгов или пустых строк в общей сумме.
Сначала я попытался использовать cloc, который доступен как пакет Debian. Но cloc рассматривает большинство докстеров как код, даже если они являются комментариями. (Обновление:) - последние версии cloc теперь обрабатывают Docstrings Python как комментарии.)
Я замечаю некоторые комментарии ниже, говоря, что в общую сумму должны включаться docstrings, потому что они могут использоваться кодом для влияния на поведение во время выполнения и, следовательно, считаться частью кода программы/данных/config. Ярким примером этого является "ply", который просит вас написать функции с docstrings, которые, как я помню, содержат грамматику и регулярные выражения, которые являются центральными для операции программы. Однако это кажется мне очень редким исключением. Большую часть времени docstrings действуют так же, как комментарии. В частности, я знаю, что это верно для всего кода, который я хочу измерить. Поэтому я хочу исключить их как таковые из моих строк.