当前位置: 首页 > news >正文

linux系统中简单统计python项目代码行数信息

python项目行数统计:

#!/bin/bash # 忽略该目录下的文件和忽略某些后缀文件注意下面的(-not -path和-not -name) find . -type f \ -not -path "*/node_modules/*" \ -not -path "*/dist/*" \ -not -path "*/build/*" \ -not -path "*/out/*" \ -not -path "*/target/*" \ -not -path "*/.git/*" \ -not -path "*/.svn/*" \ -not -path "*/.idea/*" \ -not -path "*/.vscode/*" \ -not -path "*/venv/*" \ -not -path "*/.venv/*" \ -not -path "*/__pycache__/*" \ -not -path "*/vendor/*" \ -not -path "*/log/*" \ -not -path "*/logs/*" \ -not -path "*/test/*" \ -not -path "*/tests/*" \ -not -name "*.log" \ -not -name "*.sql" \ -not -name "*.bak" \ -not -name "*.old" \ -not -name "*.tmp" \ # 统计以下文件 \( -name "*.py" -o -name "*.pyi" -o -name "*.yml" -o -name "*.yaml" -o -name "*.toml" -o -name "*.ini" \) \ -print0 | xargs -0 cat 2>/dev/null | awk ' BEGIN { total = 0 empty = 0 comment = 0 code = 0 } { total++ orig = $0 trimmed = orig gsub(/^[[:space:]]+|[[:space:]]+$/, "", trimmed) if (trimmed == "") { empty++ next } s = orig gsub(/'''[^']*'''/, "", s) gsub(/"""[^"]*"""/, "", s) gsub(/"([^"\\]|\\.)*"/, "", s) gsub(/'([^'\\]|\\.)*'/, "", s) gsub(/#.*/, "", s) gsub(/^[[:space:]]+|[[:space:]]+$/, "", s) if (s == "") comment++ else code++ } END { print "========================" print "Python 项目【纯净业务代码】" print "总行数: " total print "空行数: " empty print "注释行数: " comment print "有效代码行: " code printf("注释率: %.2f%%\n", total>0 ? comment/total*100 : 0) print "========================" }'

使用方法和java一样,见:linux系统中简单统计java项目代码行数信息

http://www.jsqmd.com/news/652400/

相关文章:

  • NSCT图像分解实战:用Matlab+NSCT_TOOLBOX处理医学影像(附完整代码)
  • Markdown编辑器
  • 2026化妆培训十大机构盘点!零基础小白择校不踩坑! - 品牌测评鉴赏家
  • Python自动化查询DELL服务器保修信息:从SN号到完整报告(附多线程优化)
  • 2025届毕业生推荐的降AI率工具推荐
  • 别再瞎调参数了!GPT-5的reasoning_effort和verbosity到底怎么设?实战避坑指南
  • 避免数据丢失!双系统Ubuntu扩容必知的5个关键步骤与常见错误
  • OpenIPC固件在君正T31ZX平台烧录失败故障排查与彻底解决方案
  • OpenCL SDK技术深度解析与高性能计算实战指南
  • 电力负荷预测实战:用AAAI最佳论文Informer模型搞定未来72小时用电量
  • 告别IE内核:在WPF中集成CefSharp构建现代化Web视图
  • 情绪价值拉满:用 ArkUI 写个“马屁精”APP,点一下屏幕换着花样疯狂夸你
  • OpenClaw v2026.4.5 源码安装
  • 12 - Go Slice:底层原理、扩容机制与常见坑位
  • 项目实训(三):安全分析引擎迭代——统一 Source 模型、SQL 形态识别与污点传播重构
  • 为什么92%的AI项目在Q3财报前暴雷成本超支?揭秘生成式AI分摊模型中被忽略的3个隐性因子
  • Python自动化数据备份:守护你的数据安全
  • 仅限首批200家AI原生企业开放的CI/CD流水线模板库(含Phi-3/Qwen2/Llama3全栈适配):生成式AI应用交付效率提升3.8倍的终极配置清单
  • CSS 提示工具:高效提升网页设计效率的利器
  • 伺服驱动器编码器信号(A+/A-,B+/B-,Z+/Z-)差分接线详解:从高创CDHD2到雷赛L8EC
  • Python面试30分钟突击掌握
  • 美妆学习避坑指南:如何从三个维度判断化妆教学团队的专业度 - 品牌测评鉴赏家
  • 长推理不一定更强:北航 × 字节提出SAGE-RL,挖出大模型隐藏天赋
  • SAP SD实战解析:从出荷点到纳入日,构建高效订单履行流程
  • compose_skill 和 android skills,对 Android 项目提升巨大的专家 AI Skills
  • 2026年化妆学校择校参考:零基础入门与技能提升指南 - 品牌测评鉴赏家
  • Infoseek舆情监测系统技术解析:基于AI的企业品牌数字化防护架构
  • LEETCODE HOT 100 二分查找 C‘s Log
  • 2026秋冬化妆培训榜|5家顶流机构深度测评,选课秘籍 - 品牌测评鉴赏家
  • **蓝绿部署实战:用 Go 实现无中断服务更新的优雅方案**在现代微服务架构中,**如何实现