Python统计代码行数的快捷方法,python统计行数,想知道一段Python教
Python统计代码行数的快捷方法,python统计行数,想知道一段Python教
想知道一段Python教程代码有多少行,除了看标注的行号外还可以用Python统计代码行数的快捷方法。需要用到python sys模块和python os模块,这两个模块可以说是万能的最常被使用到的Python模块。
这个python源代码统计工具还不是十分的完善。本人希望能做的是一款能统计所有类型源代码行数的工具,可支支持当下所有的格式,能做到统计准确速度快最好了。希望有能力的朋友们帮我完善,做成能为所有不同计算机编程语言的程序员服务的工具。
Python统计代码行数的快捷方法源码如下:
import sys;import os;class LineCount: def trim(self,docstring): if not docstring: return '' lines = docstring.expandtabs().splitlines() indent = sys.maxint for line in lines[1:]: stripped = line.lstrip() if stripped: indent = min(indent, len(line) - len(stripped)) trimmed = [lines[0].strip()] if indent < sys.maxint: for line in lines[1:]: trimmed.append(line[indent:].rstrip()) while trimmed and not trimmed[-1]: trimmed.pop() while trimmed and not trimmed[0]: trimmed.pop(0) return '\n'.join(trimmed) def FileLineCount(self,filename): (filepath,tempfilename) = os.path.split(filename); (shotname,extension) = os.path.splitext(tempfilename); if extension == '.txt' or extension == '.hol' : # file type file = open(filename,'r'); self.sourceFileCount += 1; allLines = file.readlines(); file.close(); lineCount =0; commentCount = 0; blankCount = 0; codeCount = 0; for eachLine in allLines: if eachLine != " " : eachLine = eachLine.replace(" ",""); #remove space eachLine = self.trim(eachLine); #remove tabIndent if eachLine.find('--') == 0 : #LINECOMMENT commentCount += 1; else : if eachLine == "": blankCount += 1; else : codeCount += 1; lineCount = lineCount + 1; self.all += lineCount; self.allComment += commentCount; self.allBlank += blankCount; self.allSource += codeCount; print filename; print ' Total :',lineCount ; print ' Comment :',commentCount; print ' Blank :',blankCount; print ' Source :',codeCount; def CalulateCodeCount(self,filename): if os.path.isdir(filename) : if not filename.endswith('\\'): filename += '\\'; for file in os.listdir(filename): if os.path.isdir(filename + file): self.CalulateCodeCount(filename + file); else: self.FileLineCount(filename + file); else: self.FileLineCount(filename);#www.iplaypy.com def __init__(self): self.all = 0; self.allComment =0; self.allBlank = 0; self.allSource = 0; self.sourceFileCount = 0; filename = raw_input('Enter file name: '); self.CalulateCodeCount(filename); if self.sourceFileCount == 0 : print 'No Code File'; pass; print '\n'; print '***************** All Files **********************'; print ' Files :',self.sourceFileCount; print ' Total :',self.all; print ' Comment :',self.allComment; print ' Blank :',self.allBlank; print ' Source :',self.allSource; print '****************************************************';myLineCount = LineCount();
编橙之家文章,
相关内容
- 如何用Python方法获取图片的准确尺寸,,Python如何获取图
- 把Gmail邮件转发到gtalk的Python方法,gtalkpython,用Python方法
- Python取出指定文本中出现频率最大值的方法,python最大
- 如何用Python来计算已经过去的时间,python已经过去,如何
- Python指定目录递归遍历源码示例,python递归,本文是关于
- Python生成0-9任意4位数字组合的方法,python生成0-94位,编
- Python获取Windows窗口标题并输出的脚本方法,python窗口
- 指定地区天气预报查询的Python方法,地区天气预报pyt
- Python识别网站验证码的方法源码,,学习Python教程之前
- Python压缩文件为tar、gzip的方法,pythontar,Python文件操作
评论关闭