本文目录导读:

- Linux / Mac 终端(最常用,Bash 脚本)
- 统计单个文件行数(Linux / Mac)
- Windows(CMD 批处理脚本)
- Python 通用脚本(跨平台,最灵活)
- 只统计“代码行”数(忽略空行和注释)
- 总结:用哪个?
“行数统计脚本”的需求非常常见,根据你使用的环境(Linux/Mac 终端、Windows、还是 Python),写法完全不同。
我整理了以下几种最常用的场景以及对应的脚本代码:
Linux / Mac 终端(最常用,Bash 脚本)
如果你需要统计当前目录下所有文件,或特定类型文件的总行数。
脚本功能: 统计当前目录下所有 .py 文件的总行数。
#!/bin/bash
# 文件名: count_lines.sh
# 统计当前目录下所有 .py 文件的行数(包含子目录)
find . -name "*.py" | xargs wc -l
# 如果只想看总行数,不要明细:
# find . -name "*.py" -exec wc -l {} + | tail -1
使用方式:
- 保存为
count_lines.sh - 终端执行:
chmod +x count_lines.sh && ./count_lines.sh
不局限于 .py: 把 "*.py" 换成 "*.js"、"*.txt" 或 (所有文件)即可。
统计单个文件行数(Linux / Mac)
这个是最简单的,但也是最实用的。
# 统计一个文件 wc -l filename.txt # 结果会显示: 行数 文件名
Windows(CMD 批处理脚本)
如果你在 Windows 自带的命令行下工作。
脚本功能: 统计当前目录下所有 .txt 文件的行数总和。
@echo off
setlocal enabledelayedexpansion
set total=0
for %%i in (*.txt) do (
for /f %%j in ('type "%%i" ^| find /v /c ""') do (
set /a total+=%%j
)
)
echo 总行数:%total%
pause
保存为 count_lines.bat,双击或运行即可。
Python 通用脚本(跨平台,最灵活)
如果你装了 Python,这是一个功能更强大的选择,它可以统计多种文件,并跳过空行或注释(以 开头)。
# 文件名: count_lines.py
import os
def count_lines_in_file(filepath):
"""统计单个文件的行数(跳过空行)"""
count = 0
with open(filepath, 'r', encoding='utf-8', errors='ignore') as f:
for line in f:
if line.strip(): # 只统计非空行
count += 1
return count
def count_lines_in_directory(path, extensions=None):
"""
统计目录下所有指定扩展名文件的总行数
:param extensions: ['.py', '.txt']
"""
total = 0
for root, dirs, files in os.walk(path):
for file in files:
if extensions:
if not any(file.endswith(ext) for ext in extensions):
continue
filepath = os.path.join(root, file)
lines = count_lines_in_file(filepath)
total += lines
print(f"{filepath}: {lines} 行")
print(f"\n总共: {total} 行")
if __name__ == "__main__":
# 使用示例:统计当前目录下所有 .py 和 .txt 文件
count_lines_in_directory(".", extensions=[".py", ".txt"])
使用方式:
python count_lines.py
只统计“代码行”数(忽略空行和注释)
这个需求在代码审查中很常见,上面 Python 脚本已经支持忽略空行,下面是一个更纯粹的例子(Linux):
# 统计当前目录所有 .py 文件,排除空行和以 # 开头的行
find . -name "*.py" -exec grep -v -E '^$|^#' {} + | wc -l
用哪个?
| 场景 | 推荐 |
|---|---|
| Linux/Mac 命令行快速统计 | find . -name "*.py" \| xargs wc -l |
| Windows 简单统计 | CMD 批处理脚本或 Git Bash |
| 需要忽略空行/注释 | Python 脚本 |
| 需要图形化或深层分析(如分语言统计) | 工具 cloc |
如果需要统计指定多个目录或排除某些目录(如 node_modules),请告诉我,我可以帮你修改脚本。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播