File: wcall.py

File: wcall.py

##################################
# count lines in all source files
# in tree; os.path.walk version
##################################
import os, sys
allLines = allFiles = 0
allExts = ['.py', '.pyw', '.cgi', '.html', '.c', '.cxx', '.h', '.i']
def makeSums(keys): 
 sums = {}
 for key in keys: sums[key] = 0
 return sums
allSums = makeSums(allExts)
def sum(dir, file, ext):
 global allFiles, allLines
 print file
 fname = os.path.join(dir, file)
 lines = open(fname).readlines()
 allFiles = allFiles + 1
 allLines = allLines + len(lines)
 allSums[ext] = allSums[ext] + 1 # or += 1
def wc(ignore, dir, fileshere):
 for file in fileshere:
 for ext in allExts:
 if file[-len(ext):] == ext: # or .endswith()
 sum(dir, file, ext)
 break
if __name__ == '__main__':
 os.path.walk(sys.argv[1], wc, None) # cmd arg=root dir
 print '-'*80
 print 'Files=>', allFiles, 'Lines=>', allLines
 print allSums



AltStyle によって変換されたページ (->オリジナル) /