广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中怎么统计代码行数
  • 728
分享到

python中怎么统计代码行数

2023-06-02 04:06:43 728人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章将为大家详细讲解有关python中怎么统计代码行数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。流程首先判断传入参数是否为文件夹,不是则打印出提示,否则继续(无返回),获得目录后,y

这篇文章将为大家详细讲解有关python中怎么统计代码行数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

流程

首先判断传入参数是否为文件夹,不是则打印出提示,否则继续(无返回),获得目录后,yonGos.listdir对路径下文件进行遍历,其中也包含文件夹,再次判断是否为文件夹,是的话则递归调用此函数,否则开始执行行数统计,这里用os.path.join将路径与文件名进行拼接,方便之后直接传给函数,逻辑很简单,无非是执行文件判断,判断是哪类文件,在调用对应的注释监测正则代码段进行抓取,抓取到则行数+1,空白行也是一样的原理,用strip(去除前后空格),然后行内内容为空则为空行,代码段即为总行数减去其他两类行数,最后在外层将所有文件对应的代码段累加即为total

关键

函数内部是可以访问全局变量的,问题在于函数内部修改了变量,导致Python认为它是一个局部变量。

所以,如果在函数内部访问并修改全局变量,应该使用关键字 global 来修饰变量

import osimport re#定义规则抓取文件中的python注释re_obj_py = re.compile('[(#)]')#定义规则抓取文件中的C语言注释re_obj_c = re.compile('[(//)()]')#判断是否为python文件def is_py_file(filename):if os.path.splitext(filename)[1] == '.py':return Trueelse:return False#判断是否为c文件def is_c_file(filename):if os.path.splitext(filename)[1] in ['.c', '.cc', '.h']:return Trueelse:return False#定义几个全局变量用于计算所有文件总和(全部行数、代码行数、空行数、注释行数)all_lines, code_lines, space_lines, comments_lines = 0, 0, 0, 0#判断是否为文件夹,不是则输出提示def count_codelines(dirpath):if not os.path.isdir(dirpath):print('input dir: %s is not legal!' % dirpath)return# 定义几个全局变量用于计算每个文件行数(全部行数、代码行数、空行数、注释行数)global all_lines, code_lines, space_lines, comments_lines#列出当前文件夹下的文件(包含目录)all_files = os.listdir(dirpath)for file in all_files:#将文件(目录)名与路径拼接file_name = os.path.join(dirpath, file)if os.path.isdir(file_name):count_codelines(file_name)else:temp_all_lines, temp_code_lines, temp_space_lines, temp_comments_lines = 0, 0, 0, 0f = open(file_name)for line in f:temp_all_lines += 1if line.strip() == '':temp_space_lines += 1continueif is_py_file(file_name) and re_obj_py.match(line.strip()):temp_comments_lines += 1if is_c_file(file_name) and re_obj_c.match(line.strip()):temp_comments_lines += 1temp_code_lines = temp_all_lines - temp_space_lines - temp_comments_linesprint('%-15s : all_lines(%s)\t code_lines(%s)\t space_lines(%s)\t comments_lines(%s)'% (file, temp_all_lines, temp_code_lines, temp_space_lines, temp_comments_lines))all_lines += temp_all_linescode_lines += temp_code_linesspace_lines += temp_space_linescomments_lines += temp_comments_linesif __name__ == '__main__':count_codelines('test')print('\n**** TOTAL COUNT ****\nall_lines = %s\ncode_lines = %s\nspace_lines = %s\ncomments_lines = %s' % (all_lines, code_lines, space_lines, comments_lines))

关于python中怎么统计代码行数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: python中怎么统计代码行数

本文链接: https://www.lsjlt.com/news/228877.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python中怎么统计代码行数
    这篇文章将为大家详细讲解有关python中怎么统计代码行数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。流程首先判断传入参数是否为文件夹,不是则打印出提示,否则继续(无返回),获得目录后,y...
    99+
    2023-06-02
  • 统计python代码行数
        addhosts项目已接近尾声,我很想知道我们写了多少行代码。一、需求    统计源码目录下py文件的代码行数。    二、脚本分析    获取指定目录下所有的.py文件,对文件进行遍历;    读取每个文件,对文件内容进行遍历,过...
    99+
    2023-01-31
    行数 代码 python
  • idea怎么统计代码行数
    有以下几种方法可以统计代码行数: 手工统计:通过手工数数的方式,逐行统计代码行数。这种方法适用于代码量较小的项目,但对于大型项目...
    99+
    2023-10-27
    idea
  • python 代码统计文件的行数
    #!/usr/bin/python#encofing:utf8# 统计文件的行数import sysdef lineCount(fd):        n = 0        for i in fd:                n +...
    99+
    2023-01-31
    行数 代码 文件
  • python 统计代码行数简单实例
    python 统计代码行数简单实例 送测的时候,发现需要统计代码行数 于是写了个小程序统计自己的代码的行数。 #calclate_code_lines.py import os def afi...
    99+
    2022-06-04
    实例 行数 代码
  • 怎么在 idea中使用Statistic统计代码行数
    怎么在 idea中使用Statistic统计代码行数?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、安装Statistic打开IDEA打开settings进行...
    99+
    2023-06-14
  • [python]写一个统计代码行数的co
     某一天过去SY那儿,突发奇想说要写一个统计代码行数的小程序。说干就干,约定了一个时间——周六,来把这个想法给实现了。当然这个项目人家做过的也未必,google一下,果然有非常优秀的win下面的代码统计工具sourceCounter。当然我...
    99+
    2023-01-31
    行数 代码 python
  • 使用shell 命令怎么统计代码行数
    使用shell 命令怎么统计代码行数?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。分享一个统计代码行的shell命令: find . “(”...
    99+
    2023-06-09
  • Linux如何统计代码行数
    这篇文章主要介绍了Linux如何统计代码行数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。统计文件行数(单个文件):wc -l file例如:homer@ubuntu:~/w...
    99+
    2023-06-12
  • Python中怎么实现统计行数
    Python中怎么实现统计行数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python程序脚本文件LineCount.py的内容如下:import ...
    99+
    2023-06-17
  • shell 命令统计代码行数的简单代码
    分享一个统计代码行的shell命令: find . “(” -name “.java” -or -name “.html” -or -name “.js” -or -name “.css” “)” -print ...
    99+
    2022-06-04
    shell 统计代码 shell 代码行数
  • Shell脚本怎么实现C语言代码行数统计
    这篇文章主要介绍“Shell脚本怎么实现C语言代码行数统计”,在日常操作中,相信很多人在Shell脚本怎么实现C语言代码行数统计问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell脚本怎么实现C语言代码行...
    99+
    2023-06-09
  • Python中怎么执行js代码
    这篇文章将为大家详细讲解有关Python中怎么执行js代码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。正常代码我们现在看一段js代码,代码逻辑很简单,就是拼接时间返回。function&n...
    99+
    2023-06-16
  • SQL对数据进行按月统计或对数据进行按星期统计的代码怎么编写
    这篇文章给大家介绍SQL对数据进行按月统计或对数据进行按星期统计的代码怎么编写,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。对于所有的需求,当你不知道怎么处理的时候,你就先用最简单的方...
    99+
    2022-10-19
  • Springboot之怎么统计代码执行耗时时间
    这篇文章主要介绍“Springboot之怎么统计代码执行耗时时间”,在日常操作中,相信很多人在Springboot之怎么统计代码执行耗时时间问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Springboot之...
    99+
    2023-07-05
  • python怎么运行代码
    python运行代码的方法:使用快捷键【win+R 键】打开运行窗口,然后输入:“cmd”,点击确定打开dos窗口。切换到你需要运行的文件所在的盘。再打开你需要运行的文件夹中。最后输入:python ***.py(程序文件的名字)...
    99+
    2022-10-06
  • PHP如何统计代码行数及文件数量
    今天小编给大家分享一下PHP如何统计代码行数及文件数量的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。用PHP统计代码行数和文...
    99+
    2023-07-04
  • 怎么在python中执行js代码
    本篇文章为大家展示了怎么在python中执行js代码,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。什么是js代码混淆我们现在看一段js代码,代码逻辑很简单,就是拼接时间返回。function&nbs...
    99+
    2023-06-15
  • spyder怎么运行python代码
    要在Spyder中运行Python代码,您可以按照以下步骤操作:1. 打开Spyder:在Windows系统上,可以从开始菜单中找到...
    99+
    2023-10-12
    spyder python
  • 怎么用python dataframe统计行列中零值的个数
    今天小编给大家分享一下怎么用python dataframe统计行列中零值的个数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作