import sys
import os
textFiles={".java":1,".py":1,".mxml":1,".as":1,".c":1,".cpp":1,".h":1,".bat":1}
def isTextFile(fileName):
index=fileName.rfind(".")
if(index!=-1):
extension=fileName[index:]
try:
textFiles[extension]
return True
except Exception,message:
return False
else:
return False
def getFileLines(filePath):
f=os.popen("wc -l "+filePath,"r")
l=f.read()
print "l:",l
index=l.find(" ")
l=int(l[0:index])
return l
def countDir(dir):
lines=0
if(os.path.exists(dir)):
items=os.listdir(dir)
for item in items:
if(os.path.isfile(os.path.join(dir,item))):
if(isTextFile(item)):
lines=lines+getFileLines(os.path.join(dir,item))
else:
t=countDir(os.path.join(dir,item))
if(t!=-1):
lines=lines+t
return lines
else:
print dir,"is not a valid path"
return -1
if(len(sys.argv)<2):
print "Parameter not enough!"
print "Formate:countLines dir"
exit(1);
dir=sys.argv[1]
result=countDir(dir)
if(result!=-1):
print "#*************#"
print "total", str(result)+" lines"
import os
textFiles={".java":1,".py":1,".mxml":1,".as":1,".c":1,".cpp":1,".h":1,".bat":1}
def isTextFile(fileName):
index=fileName.rfind(".")
if(index!=-1):
extension=fileName[index:]
try:
textFiles[extension]
return True
except Exception,message:
return False
else:
return False
def getFileLines(filePath):
f=os.popen("wc -l "+filePath,"r")
l=f.read()
print "l:",l
index=l.find(" ")
l=int(l[0:index])
return l
def countDir(dir):
lines=0
if(os.path.exists(dir)):
items=os.listdir(dir)
for item in items:
if(os.path.isfile(os.path.join(dir,item))):
if(isTextFile(item)):
lines=lines+getFileLines(os.path.join(dir,item))
else:
t=countDir(os.path.join(dir,item))
if(t!=-1):
lines=lines+t
return lines
else:
print dir,"is not a valid path"
return -1
if(len(sys.argv)<2):
print "Parameter not enough!"
print "Formate:countLines dir"
exit(1);
dir=sys.argv[1]
result=countDir(dir)
if(result!=-1):
print "#*************#"
print "total", str(result)+" lines"
本文介绍了一个简单的Python脚本,该脚本可以遍历指定目录及其子目录下的所有文本文件,并统计这些文件中的总行数。支持多种常见的编程语言文件格式,如Java、Python和C等。
2万+

被折叠的 条评论
为什么被折叠?



