python代码行数统计

发布时间:2024年01月04日

一、【需求澄清】

虽然常用的代码管理工具都有行数统计,不过考虑到不是所有的代码都会推到仓库,我们需要一个本地统计代码的小工具。

这边抽空写了一个对指定路径、指定扩展名统计代码行数的小工具,分享给大家。

非生产代码无分享风险

二、【代码实现】

# -*- encoding: utf-8 -*-

'''

@File ? ?: ? line_counter.py

@Time ? ?: ? 2023/12/13 12:15:44

@describe: ? 一个行数统计工具,统计指定文件夹下的指定扩展名

'''

import os

?

def count_lines(file_path):

? ? try:

? ? ? ? with open(file_path, 'r', encoding='utf-8') as file:

? ? ? ? ? ? lines = file.readlines()

? ? ? ? ? ? return len(lines)

? ? except Exception as e:

? ? ? ? print(f"Error reading file {file_path}: {e}")

? ? ? ? return 0

?

def count_lines_in_directory(directory_path, extensions):

? ? total_lines = 0

?

? ? for root, dirs, files in os.walk(directory_path):

? ? ? ? for file_name in files:

? ? ? ? ? ? if any(file_name.endswith(ext) for ext in extensions):

? ? ? ? ? ? ? ? file_path = os.path.join(root, file_name)

? ? ? ? ? ? ? ? lines = count_lines(file_path)

? ? ? ? ? ? ? ? print(f"{file_path}: {lines} lines")

? ? ? ? ? ? ? ? total_lines += lines

?

? ? print(f"\nTotal lines in {directory_path}: {total_lines} lines")

?

if __name__ == "__main__":

? ? target_directory = r'D:\shscripts' ?# 或者直接将目标路径写在代码中

? ? file_extensions = ['.py', '.sh','.go']

?

? ? count_lines_in_directory(target_directory, file_extensions)

?

?

文章来源:https://blog.csdn.net/m0_62856417/article/details/135295864
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。