当然,下面是一个使用Python实现的简单代码行数统计的示例。这个示例会遍历指定目录下的所有`.py`文件,并计算它们的总行数。注意,这个示例不包括空行和注释行,仅计算代码行。为了简化,我们暂时不深入处理多行字符串和注释的复杂情况。
import os
def count_code_lines(directory):
"""
统计指定目录下所有.py文件的代码行数(不包括空行和注释行)
:param directory: 要统计的目录路径
:return: 代码行数总和
"""
total_lines = 0
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith('.py'):
file_path = os.path.join(root, file)
with open(file_path, 'r', encoding='utf-8') as f:
lines = f.readlines()
for line in lines:
# 简单的去空行和注释行逻辑
# 注意:这里不处理多行字符串和特殊注释(如多行注释)
stripped_line = line.strip()
if stripped_line and not stripped_line.startswith('#'):
total_lines += 1
return total_lines
# 示例用法
directory_to_count = '/path/to/your/python/project'
print(f"Total code lines: {count_code_lines(directory_to_count)}")
请注意,这个示例中的`count_code_lines`函数使用了一个简单的逻辑来去除空行和以`#`开头的注释行。然而,这种方法并不完美,因为它不会处理多行字符串、多行注释(如Python中的三引号字符串和多行`'''`或`"""`注释)或其他形式的注释(如`"""`包裹的文档字符串)。对于更复杂的统计需求,您可能需要使用更高级的文本解析技术,如正则表达式或专门的代码分析工具。
另外,请确保将`directory_to_count`变量的值替换为您想要统计的Python项目目录的实际路径。