• 统计已写代码行数练习题


    统计已写代码行数,准备做全文件函数名类名变量名替换!

     1 import easygui as g
     2 import os
     3 def 显示结果(开始目录):
     4     行数 = 0
     5     总数 = 0
     6     文本 = ""
     7     for i in 来源列表:
     8         行数 = 来源列表[i]
     9         总数 += 行数
    10         文本 += "【%s】源文件 %d 个,源代码 %d 行
    " % (i, 文件列表[i], 行数)
    11     标题 = '统计结果'
    12     统计结果 = '您目前共累积编写了 %d 行代码,完成进度:%.2f %%
    离 10 万行代码还差 %d 行,请继续努力!' % (总数, 总数 / 1000, 100000 - 总数)
    13     g.textbox(统计结果, 标题, 文本)
    14 def 计算(文件名):
    15     行数 = 0
    16     with open(文件名) as f:
    17         print('正在分析文件:%s ...' % 文件名)
    18         try:
    19             for 每行 in f:
    20                 行数 += 1
    21         except UnicodeDecodeError:
    22             pass  # 不可避免会遇到格式不兼容的文件,这里忽略掉......
    23     return 行数
    24 def 搜索文件(开始目录):
    25     os.chdir(开始目录)
    26     for 每个文件 in os.listdir(os.curdir):
    27         ext = os.path.splitext(每个文件)[1]
    28         if ext in 目标:
    29             行数 = 计算(每个文件)  # 统计行数
    30             # 异常?如果字典中不存,抛出 KeyError,则添加字典键
    31             # 统计文件数
    32             try:
    33                 文件列表[ext] += 1
    34             except KeyError:
    35                 文件列表[ext] = 1
    36             # 统计源代码行数
    37             try:
    38                 来源列表[ext] += 行数
    39             except KeyError:
    40                 来源列表[ext] = 行数
    41         if os.path.isdir(每个文件):
    42             搜索文件(每个文件)  # 递归调用
    43             os.chdir(os.pardir)  # 递归调用后切记返回上一层目录
    44 目标 = ['.py']
    45 文件列表 = {}
    46 来源列表 = {}
    47 g.msgbox("请打开您存放所有代码的文件夹......", "统计代码量")
    48 路径 = g.diropenbox("请选择您的代码库:")
    49 搜索文件(路径)
    50 显示结果(路径)

  • 相关阅读:
    lightoj 1094 Farthest Nodes in a Tree 【树的直径 裸题】
    nyoj 1185 最大最小值【线段树最大值最小值维护】
    nyoj 123 士兵杀敌(四) 树状数组【单点查询+区间修改】
    poj 3468 A Simple Problem with Integers【线段树区间修改】
    hdoj 1698 Just a Hook【线段树区间修改】
    hdoj 1556 Color the ball【线段树区间更新】
    hdoj 1286 找新朋友【欧拉函数】
    [LC] 303. Range Sum Query
    [LC] 79. Word Search
    [LC] 211. Add and Search Word
  • 原文地址:https://www.cnblogs.com/lixiaomingpython/p/6740288.html
Copyright © 2020-2023  润新知