用python统计代码行的示例(包括空行和注释)

yipeiwu_com6年前Python基础

实例如下所示:

import os
import string
 
path = "/Users/U/workspace/python learning/show-me-the-code/0007/test/"
dir = os.listdir(path)
 
def count(file):
  total = 0 #总行数
  countPound = 0 #注释行数
  countBlank = 0 #空行数
  line = open(file,'r',encoding='utf-8') #打开文件,因为注释有中文所以使用utf-8编码打开
  for li in line.readlines(): #readlines()一次性读完整个文件
    total += 1
    if not li.split(): #判断是否为空行
      countBlank +=1
    li.strip()
    if li.startswith('#'):
      countPound += 1
  print(file)
  print("countBlank:%d" % countBlank)
  print("countPound:%d" % countPound)
  print("total:%d" % total)
 
for file in dir:
  count(path + file)

以上这篇用python统计代码行的示例(包括空行和注释)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python子线程退出及线程退出控制的代码

下面通过代码给大家介绍python子线程退出问题,具体内容如下所示: def thread_func(): while True: #do something...

Python中使用多进程来实现并行处理的方法小结

进程和线程是计算机软件领域里很重要的概念,进程和线程有区别,也有着密切的联系,先来辨析一下这两个概念: 1.定义 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系...

对python中的 os.mkdir和os.mkdirs详解

创建目录 在Python中可以使用os.mkdir()函数创建目录(创建一级目录)。 其原型如下所示: os.mkdir(path) 其参数path 为要创建目录的路径。 例如要在...

Python使用random和tertools模块解一些经典概率问题

random 模块中的常用函数 复制代码 代码如下: random() 返回一个位于区间 [0,1] 内的实数; uniform(a, b) 返回一个位于区间 [a,b] 内的实数; r...

Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】

Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】

本文实例讲述了Python基于聚类算法实现密度聚类(DBSCAN)计算。分享给大家供大家参考,具体如下: 算法思想 基于密度的聚类算法从样本密度的角度考察样本之间的可连接性,并基于可连接...