温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中怎么实现统计行数

发布时间:2021-07-10 15:37:34 来源:亿速云 阅读:178 作者:Leah 栏目:编程语言

Python中怎么实现统计行数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

Python程序脚本文件LineCount.py的内容如下:

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 != " " :  eachLineeachLine = 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;  lineCountlineCount = 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);  # Open File  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();

可以看到extension == '.txt' or extension == '.hol'这句是判断文件的后缀,来确定是否要计算代码行数。if eachLine.find('--') == 0 :这句来判断当前行是不是单行注释(我们的这门语言不支持块注释)。为了能在其他机器上运行,使用了py2exe来把Python脚本生成可执行的exe,setup.py脚本内容如下:

from distutils.core import setup  import py2exe  setup(  version = "0.0.1",  description = "LineCount",  name = "LineCount",  console = ["LineCount.py"],  )

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI