Python实现计算文件夹下.h和.cpp文件的总行数

yipeiwu_com6年前Python基础

平时自己写了很多代码,但从没好好计算总共写了多少行,面试时被问起来,就傻了。。。闲来无事,写个python程序来统计下

import os

################################################################################
def calcLine(baseDir):
  lineCount = 0

  try:
    for fileName in os.listdir(baseDir):

      fullPath = baseDir + fileName
      if os.path.isdir(fullPath):
        lineCount += calcLine(fullPath + '\\') #递归读取所有文件
        
      if os.path.splitext(fullPath)[1] in (".h", ".cpp"):
        file = open(fullPath)
        for eachLine in file.readline():
          lineCount += 1
        file.close()
        
  except Exception as e:
    print(e)
  return lineCount

################################################################################
if __name__ == "__main__":
  baseDir = "K:\\C++\\MFC\\BubbleDragon\\"
  lineCount = calcLine(baseDir)
  print(lineCount)

相关文章

django 环境变量配置过程详解

django 环境变量配置过程详解

刚开始使用django,在创建第一个app时被提示不知道命令runserver,百度得出是环境变量的问题。 1、配置python变量环境,C:\Python27\;C:\Python27...

Python使用 Beanstalkd 做异步任务处理的方法

Python使用 Beanstalkd 做异步任务处理的方法

使用 Beanstalkd 作为消息队列服务,然后结合 Python 的装饰器语法实现一个简单的异步任务处理工具. 最终效果 定义任务: from xxxxx.job_queue i...

Django中密码的加密、验密、解密操作

Django中密码的加密、验密、解密操作

简单介绍一下今天使用到的django内置的加解密包: from django.contrib.auth.hashers import make_password 如上图所示,dj...

WxPython实现无边框界面

wxPython是Python语言的一套优秀的GUI图形库。允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。 wxPython是作为优秀的跨平台GUI库wxWidge...

Python中一行和多行import模块问题

Python 不建议用一行 import 所有模块,而是推荐用多行 import 来导入模块。更多的是出于操作便利性的原因,与代码本身无关: 更易于阅读 import fred 比...