# 软件技术基础第二次作业 **Repository Path**: fanwenda/wc_tool ## Basic Information - **Project Name**: 软件技术基础第二次作业 - **Description**: 实现一个命令行文本计数统计程序。能正确统计导入的纯英文txt文本中的字符数,单词数,句子数。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-30 - **Last Updated**: 2025-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 软件技术基础第二次作业 #### 项目简介 实现一个命令行文本计数统计程序。能正确统计导入的纯英文txt文本中的字符数,单词数,句子数。 #### 版本迭代 | 版本号 | 阶段目标 | 核心功能 | 单元测试与性能测试覆盖 | |------|--------|---------------------------------------------------|------------------------------------------------------------------------------------------------------------------------| | v0.1 | 空项目搭建 | 仅创建项目结构 | 空测试(验证测试框架可用性) | | v0.2 | 基础功能实现 | 统计纯英文文本的字符数、单词数、句子数,含文件不存在、编码错误的异常处理。 | 1基础功能测试:字符统计(空文件、简单文本、复杂文本),单词统计(带撇号、多个空格、特殊字符、中文),句子统计 ,文件不存在异常处理 ,命令行界面测试 2性能测试: 大文件处理性能(5万单词) 不同大小文件性能对比 内存使用分析 | | v0.3 | 扩展功能实现 | 新增统计代码文件的代码行(-lc)、空行(-bl)、注释行(-cm),完善异常处理。 | 新增功能及原有功能测试 | #### 命令行用法 1. 格式 ``` python [脚本文件名] [统计参数] [目标文件] ``` 2. 统计参数 | 统计参数 | 统计目标 | |------|------| | -c | 字符数 | | -w | 单词数 | | -s | 句子数 | | -lc | 代码行数 | | -bl | 空行数 | | -cm | 注释行数 | #### 包含文件说明 1. 文件列表 ![文件列表](https://foruda.gitee.com/images/1762073545258413366/baa6eb25_16350871.png "1a31fd8a4b85b748ab6f4dd5d4ff0f96.png") 2. 文件说明 | 文件夹v0.1 | 说明 | |------------|----| | wc1.py | 版本1功能脚本 | | testwc1.py | 版本1单元及性能测试脚本(内含多组测试文档) | | word.txt | 简单测试文档 | | 文件夹V0.2 | 说明 | |------------|---------| | wc2.py | 版本2功能脚本 | | testwc2.py | 版本2单元及性能测试脚本 | | word.txt | 简单测试文档 | | 图片 | 运行及测试结果 | | 文件夹V0.3 | 说明 | |------------|---------| | wc3.py | 版本3功能脚本 | | testwc3.py | 版本3单元及性能测试脚本 | | word.txt | 简单测试文档 | | 图片 | 运行及测试结果 | #### 例程及运行结果 1. v0.2 测试文件: ``` Hello, world! How are you? I'm fine . Wow! The warm sunlight filtered through the window. ``` ![输入图片说明](https://foruda.gitee.com/images/1762074869896228415/5c4a20d8_16350871.png "word_txt内容图.png") ![输入图片说明](https://foruda.gitee.com/images/1762075377921510000/cba69fc9_16350871.png "测试文本内容图.png") 1.1统计结果: ![输入图片说明](https://foruda.gitee.com/images/1762074905477649296/bb6dcde1_16350871.png "v0.2运行结果.png") 1.2测试结果 ![输入图片说明](https://foruda.gitee.com/images/1762075016396567464/f9efbd5a_16350871.png "v0.2d单元测试.png") ![输入图片说明](https://foruda.gitee.com/images/1762075120294010193/f69a0068_16350871.png "v0.2性能测试.png") 2. v0.3 2.1 统计结果 ![输入图片说明](https://foruda.gitee.com/images/1762075469390840285/56738f10_16350871.png "v0.3运行结果.png") 2.2 测试结果 ![输入图片说明](https://foruda.gitee.com/images/1762075530298978470/72433cf3_16350871.png "v0.3单元测试与性能测试1.png") ![输入图片说明](https://foruda.gitee.com/images/1762075507444138321/ed9b8eff_16350871.png "v0.3单元测试与性能测试2.png")