# wc_project **Repository Path**: gaoxingsile/wc_project ## Basic Information - **Project Name**: wc_project - **Description**: 命令行文本统计工具 wc - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-28 - **Last Updated**: 2026-10-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WC 命令行文本统计工具 纯 Python 实现的命令行文本计数统计程序,支持统计纯英文文本中的字符数、单词数、句子数,以及代码行、空行、注释行等扩展功能。 ## 用法 命令模式:`python wc.py [参数] <文件名>` - `-c` 统计字符数 - `-w` 统计单词数 - `-s` 统计句子数 - `-l` 统计总行数 - `-b` 统计空行 - `-m` 统计注释行 - `-C` 统计代码行 - 无参数:输出全部统计信息 ## 文件列表 | 文件 | 说明 | |------|------| | wc.py | 主程序,包含基础及扩展统计功能 | | test_wc.py | 单元测试文件,包含基础功能、边界值、异常及性能测试 | | sample.txt | 测试样例文件 | | README.md | 项目说明文档 | ## 运行示例 输入 `python wc.py sample.txt` → `chars=58 words=8 sentences=3 lines=5 blank=1 comment=2 code=2` ![输入图片说明](%E8%81%94%E6%83%B3%E6%88%AA%E5%9B%BE_20261031125012.png) ## 单元测试说明 本项目使用 `unittest` 框架编写了充分的测试用例,采用等价类划分与边界值分析设计,共计 **38+ 个断言**。 ### 测试覆盖范围 | 模块 | 测试点 | 用例数 | |------|--------|--------| | 字符统计 (count_chars) | 空串、英文、换行、中文、混合 | 5 | | 单词统计 (count_words) | 空串、单/多词、标点、数字、驼峰、中文、首尾空格 | 8 | | 句子统计 (count_sentences) | 空串、单句、多句、无结尾标点、省略号、尾部空白 | 6 | | 行统计 (analyze_lines) | 空文件、纯空行、代码行、各类注释(//, #, --, ;)、行内注释、块注释单行/多行/未闭合、综合样例 | 12 | | 文件读取 (read_file) | 正常读取、文件不存在退出 | 2 | | 参数解析 (main) | 默认全输出、-c、-w、组合参数 | 4 | | 性能测试 (Performance) | 10 万行文本统计耗时基线(2秒内) | 1 | ## 性能测试说明 - **命令行测试**:使用 `python -m cProfile -s cumulative wc.py -a large_file.txt` 进行性能分析。 - **基线要求**:10 万行文本的完整统计(字符、单词、句子、行数)耗时应在 2 秒以内(普通 PC 环境一般小于 0.5 秒)。 - **IDE 测试**:可在 PyCharm 中使用 `Run -> Profile 'wc'` 工具进行可视化性能测试。 ![输入图片说明](%E8%81%94%E6%83%B3%E6%88%AA%E5%9B%BE_20261031125055.png) ## 版本迭代记录 - **v0.1** 项目初始化(空项目) - **v0.2** 完成基础功能(字符、单词、句子统计) - **v0.3** 完成扩展功能(行、空行、注释行、代码行统计)及单元测试 ## AI 协助声明 本项目代码由 AI(对话模型)根据作业需求生成,提示词为"实现命令行文本计数程序 wc,支持 -c -w -s 及扩展代码行/空行/注释行统计、单元测试、README、git 版本迭代"。