刚刚学完python,心血来潮,想统计一下一个keil工程中的代码行数。总不可能一个文件一个文件数吧,人生苦短,当然是用python了~
下面贴上代码:
import os
countc = 0
counth = 0
for root, dir, files in os.walk(".\\Src"):
print(files)
for i in files:
f = open('.\\Src\\{}'.format(i), 'rb')
countc = countc + len(f.readlines())
print(countc)
for root, dir, files in os.walk(".\\Inc"):
print(files)
for i in files:
f = open('.\\Inc\\{}'.format(i), 'rb')
counth = counth + len(f.readlines())
print(counth)
total_lines = counth + countc
print(total_lines)
1、注意工作路径是.c文件和.h文件的上层文件夹。
2、.\\的意思是当前文件夹,\\是\的转义
3、'.\\Src\\{}'.format(i)是为了给文件名加上前置路径
4、os.walk()有点类似于文件树的递归遍历,具体用法可百度学习。
5、open的参数为rb是为了防止utf-8的编码读取错误,可以兼容多样的编码。