用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之Web框架Django项目搭建全过程

Python之Web框架Django项目搭建全过程

Python之Web框架Django项目搭建全过程 IDE说明: Win7系统 Python:3.5 Django:1.10 Pymysql:0.7.10 Mys...

python读写json文件的简单实现

python读写json文件的简单实现

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类...

Django中更改默认数据库为mysql的方法示例

Django中默认使用sqlite3数据库,今天研究了下如何将它换成常见的mysql数据库。 由于项目用得python3,而MySQLdb没有支持python3的版本,如果使用pytho...

浅谈python装饰器探究与参数的领取

首先上原文: 现在,假设我们要增强now()函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(De...

python中从for循环延申到推导式的具体使用

本文采用循序渐进的写法,逐步递进. 传统for循环: #获取1到1000000的偶数 #采用传统写法(俗称普通解析) for i in range(1,10**6+1): if(i...