[python每日一练]--0007:代码统计

题目链接:https://github.com/Show-Me-the-Code/show-me-the-code
我的github链接:https://github.com/wjsaya/python_spider_learn/tree/master/python_daily
个人博客地址:https://wjsaya.github.io
第 0007 题:有个目录,里面是你自己写过的程序,统计一下你写过多少行代码。包括空行和注释,但是要分别列出来。


思路:

  1. 列出目录下所有py文件;
  2. 依次逐行读取py文件;
  3. 循环加判断,根据结果来更改数组的值,数组里就是统计结果。

代码:

#!/usr/bin/env python3
#coding: utf-8
#Auther: wjsaya
#**第 0007 题:**有个目录,里面是你自己写过的程序,统计一下你写过多少行代码。包括空行和注释,但是要分别列出来。
import os
import re

def file_list(dir):
    os.chdir(dir)
    F_list = [ F for F in os.listdir("./") if os.path.splitext(F)[1]==".py"]
    for name in F_list:
        result = word_count(name)
        print (name+"中,注释为"+str(result[0])+"行,空行为"+str(result[1])+"行,有效代码行数为"+str(result[2]))

def word_count(name):
    count = [0, 0, 0]
    #第一个为注释,第二个为空格,第三个为代码
    file = open(name, 'r', encoding="utf-8").readlines()
    for line in file:
        if re.match(r'[ ]*#', line):
            count[0] += 1
        elif re.match(r'$', line):
                count[1] += 1
        else:
            count[2] += 1
    return count

if __name__ == "__main__": 
    #dir = input("输入代码目录:")
    dir = "code"
    file_list(dir)

效果图:

这里写图片描述


ps:懒癌发作的日常。。。离上一篇已经过去了10天233,慢慢来,不着急。。。
另外,我的个人博客是托管在最大的交友网站,不是,是最大的代码托管平台github上的,所以访问可能会有点慢ԅ(¯㉨¯ԅ)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值