【复试 python程序设计 第2版 董付国】python统计c++源程序文件中不重复代码行数

# -*- coding: utf-8 -*-

from os.path import isdir, join
from os import listdir

AllLines = []           # 保存所有代码行
NotRepeatedLines = []   # 保存非重复的代码行

file_num = 0      # 文件数量
code_num = 0      # 代码总行数

def LinesCount(directory):
    global AllLines
    global NotRepeatedLines
    global file_num
    global code_num

    for filename in listdir(directory):
        temp = join(directory, filename)
        if isdir(temp):                # 递归遍历子文件夹
            LinesCount(temp)
        elif temp.endswith('.cpp'):    #  只考虑.cpp文件
            file_num += 1
            with open(temp, 'r') as fp:
                while True:
                    line = fp.readline()
                    if not line:
                        break
                    if line not in NotRepeatedLines:
                        NotRepeatedLines.append(line)  # 记录非重复行
                    code_num += 1                      # 记录所有代码行

    return (code_num, len(NotRepeatedLines))

path = 'G:/Dev-Cpp/代码大全/Offer'
print('代码总数量: {0[0]}, 非重复代码行数: {0[1]}'.format(LinesCount(path)) )
print('文件数量: {0}'.format(file_num))

 

 

原文链接: https://www.cnblogs.com/douzujun/p/12452027.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    【复试 python程序设计 第2版 董付国】python统计c++源程序文件中不重复代码行数

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/334287

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午9:35
下一篇 2023年3月1日 下午9:35

相关推荐