代码改变世界

统计代码行数

2013-05-06 00:01  HGtz2222  阅读(258)  评论(0编辑  收藏  举报
 1 from os import path
 2 from sys import argv
 3 from os import listdir
 4 
 5 totalLine=0
 6 
 7 def countFile(fileName):
 8     fd=open(fileName)
 9     lines=fd.readlines()
10     return len(lines)
11 
12 def isSource(fileName):
13     sourceList=('py', 'c', 'cpp', 'h')
14     tmp=fileName.split('.')
15     tailName=tmp[-1]
16     if tailName in sourceList:
17         return True
18     else:
19         return False
20 
21 def countDir(cur_path):
22     file_list=listdir(cur_path)
23     global totalLine
24     for file_iter in file_list:
25         file_name=cur_path+'/'+file_iter
26         if path.isdir(file_name) :
27             countDir(file_name)
28         elif(isSource(file_name)):
29             totalLine+=countFile(file_name)
30         else:
31             pass
32 
33 def main():
34     cur_path=argv[1]
35     countDir(cur_path)
36     print 'The project %s has %d lines' % (cur_path, totalLine)
37 
38 main()