PHP统计代码行数的小代码

yipeiwu_com5年前Python基础

本文实例为大家分享了PHP统计代码行数的具体代码,供大家参考,具体内容如下

想统计一下项目中一共有多少行代码,结果没找到什么好的工具,就自己写了一个。

效率不怎么样。

<?php
/**
 * Created by PhpStorm.
 * User: luyanfeng
 * Date: 16/7/12
 * Time: 下午1:45
 */
 
/**
 * @param $dir
 * @return int
 */
function countLine($dir)
{
 $count = 0;
 if (is_dir($dir)) {
 $files = scandir($dir);
 foreach ($files as $file) {
 if ($file[0] == '.') continue;
 $file = $dir . "/" . $file;
 if (is_dir($file)) {
 $count += countLine($file . "/");
 } else {
 if (strpos($file, ".php"))
  $count += count(file($file));
 }
 }
 } else {
 $count += count(file($dir));
 }
 return $count;
}
 
if (count($argv) < 2) {
 echo "lack params\n";
 die;
}
$dir = $argv[1];
echo countLine($dir) . "\n";

在命令行中运行,参数为要查询的文件或者目录的绝对路径。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python类和继承用法实例

本文实例讲述了python类和继承定义与用法。分享给大家供大家参考。具体如下: class Employee: pass lee = Employee() lee.name =...

Python使用multiprocessing实现一个最简单的分布式作业调度系统

 mutilprocess像线程一样管理进程,这个是mutilprocess的核心,他与threading很是相像,对多核CPU的利用率会比threading好的多。 介绍 P...

Python编程实现及时获取新邮件的方法示例

本文实例讲述了Python编程实现及时获取新邮件的方法。分享给大家供大家参考,具体如下: #-*- encoding: utf-8 -*- import sys import loc...

Python设计模式之门面模式简单示例

Python设计模式之门面模式简单示例

本文实例讲述了Python设计模式之门面模式。分享给大家供大家参考,具体如下: facade:建筑物的表面 门面模式是一个软件工程设计模式,主要用于面向对象编程。 一个门面可以看作是为大...

python Event事件、进程池与线程池、协程解析

Event事件 用来控制线程的执行 出现e.wait(),就会把这个线程设置为False,就不能执行这个任务; 只要有一个线程出现e.set(),就会告诉Event对象,把有e.wai...