zoukankan      html  css  js  c++  java
  • 利用python看看你已经写了多少代码吧!

     这次我们运用到的是python 的os库
    所谓os库就是Python标准库,包含几百个函数分为路径操作、进程管理、环境参数等几类,而我们今天要运用到的只是os.path子库。
    在代码中我们要用到的几个函数分别是 :
    os.path.isdir<来判断是否是文件夹>
    os.listdir<来列出文件夹中的文件>
    os.path.join<来拼接路径>
    首先我们需要导入我们的os库

    import os
    

    由于我们要打开一个一个的文件夹,所以我采取的是递推,首先我们创建一个记录我们代码行数的代码并定义一个全局变量用来统计我们的行数

    def CountFileLines(path):
    	global count
    

    在刚开始我们要判断我们文件是否是文件夹:如果是,我们则列出文件并进行递归

     if (os.path.isdir(path)):
            a = os.listdir(path)
            for i in a:
                path1 = os.path.join(path,i)
                CountFileLines(path1)
    

      那么如果是文件的话我们就要判断是否是以.py(我这里统计的是python的代码,如果统计别的语言请自行更改后缀),并且如果是py结尾的话我们就读取它的每一行直到结束

        elif path.endswith(".py"):
            count-=1 #设置count-1的原因是因为我这个判断会让每个代码的最后一个空行记入
            with open(path,encoding="utf-8") as f:
                while(True):
                    line = f.readline()
                    count+=1
                    if not line:
                        break
    

      在最后我们返回count 的值:

    return count
    

      大功告成!
    最后附上完整代码:

    import os
    count = 0
    def CountFileLines(path):
        global count
        if (os.path.isdir(path)):
            a = os.listdir(path)
            for i in a:
                path1 = os.path.join(path,i)
                CountFileLines(path1)
        elif path.endswith(".py"):
            count-=1
            with open(path,encoding="utf-8") as f: #这里的编码改为UTF-8(不然他好像默认GBK打不开)
                while(True):
                    line = f.readline()
                    count+=1
                    if not line:
                        break
        return count
    path = r'你想要计算代码的路径' #前面加上r 的作用是让计算机知道是一个路径信息
    print(CountFileLines(path))
    

    注意:如果你是打算找python高薪工作的话。我建议你多写点真实的企业项目积累经验。不然工作都找不到,当然很多人没进过企业,怎么会存在项目经验呢? 所以你得多找找企业项目实战多练习下撒。如果你很懒不想找,也可以进我的Python交流圈:1156465813。群文件里面有我之前在做开发写过的一些真实企业项目案例。你可以拿去学习,不懂都可以在裙里找我,有空会耐心给你解答下。

  • 相关阅读:
    Ubuntu 查看网关地址方法
    cf451C-Predict Outcome of the Game
    C语言运算符优先级
    文件的概念以及VC里的一些文件操作API简介
    关于空指针NULL、野指针、通用指针
    由字符串常量引发的思考
    数字三角形问题
    cdoj第13th校赛初赛F
    cdoj第13th校赛初赛H
    cdoj第13th校赛初赛L
  • 原文地址:https://www.cnblogs.com/shuchongzeishuai/p/13905472.html
Copyright © 2011-2022 走看看