python项目代码量_统计项目代码行数 python实现

#!/usr/bin/env python

#-*- coding=utf-8 -*-

import sys, os, stat

#清除项目里面的svn版本信息

def purge(path):

count = 0

for item in os.listdir(path):

subpath = os.path.join(path,item)

mode = os.stat(subpath)[stat.ST_MODE]

if stat.S_ISDIR(mode):

count = purge(subpath)

else:

os.chmod(subpath,stat.S_IREAD|stat.S_IWRITE)

os.unlink(subpath)

count = 1

os.rmdir(path)

count = 1

return count

#递归循环目录

def walk(path):

for item in os.listdir(path):

subpath = os.path.join(path, item)

mode = os.stat(subpath)[stat.ST_MODE]

if stat.S_ISDIR(mode):

if item == ".svn":

print "清除 %s 的版本信息..." %subpath

print "%d 被删除" % purge(subpath)

else:

walk(subpath)

#清除完毕,退出

#if len(sys.argv) != 2:

# print "已经清除.svn文件"

# sys.exit(1)

调用函数,以清除版本信息

walk(raw_input('请输入你项目的绝对目录:'))

#递归目录

def walkread(path):

for item in os.listdir(path):

subpath = os.path.join(path, item)

mode = os.stat(subpath)[stat.ST_MODE]

if stat.S_ISDIR(mode):

walkread(subpath)

else:

filework(subpath)

print '%s是文件' % subpath

#以下函数较为简单,具体实现依据你个人的统计

#全局变量 记录项目总行数

codeline = 0

def filework(filepath):

global codeline

if filepath[-4:] != '.pyc':

codename = open('/home/scr/my/code','ab')

line = os.linesep

codename.write(filepath)

codeline += 1

codename.write(line)

coderead = open(filepath,'rb')

for cont in coderead:

codename.write(cont)

codeline += 1

codename.write(line)

coderead.close()

codename.close()

walkread(raw_input('请输入你项目的绝对目录:'))#例如'/var/www/html/iuuc/'

print '总行数 %d' % codeline

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值