# Second assignment **Repository Path**: chen-zhixia666/second-assignment ## Basic Information - **Project Name**: Second assignment - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-28 - **Last Updated**: 2024-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **一、项目简介及其相关的用法** **1.1项目简介** 本项目旨在利用PyCharm实现一个命令行文本计数统计程序,能正确统计导入的纯英文txt文本中的字符数,单词数,句子数。在拓展功能中,实现了统计代码行、空行、注释行、标点符号数、特定单词数等功能,用户可以通过命令行参数选择不同的统计功能,并指定要处理的文本文件。 **1.2相关用法** **具体命令行界面要求举例:** **命令模式**: wc.exe [参数] [文件名] * wc.exe -c file.txt 统计字符数 * wc.exe -w file.txt 统计单词数 扩展功能(加分项):统计代码行、空行、注释行等,并提供相应命令接口。 **二、文件列表及其相关说明** **2.1文件列表** ![文件列表](%E6%96%87%E4%BB%B6%E5%88%97%E8%A1%A8.png) 不同版本号体现各个版本更迭 v0.1 空项目 v0.2 项目完成基础功能 v0.3 项目完成扩展功能(加分项) **2.2程序说明** **2.2.1函数说明** (1) **count_characters(text)**: - **功能**: 计算并返回文本中的字符数。 - **参数**: `text` (str): 输入的文本字符串。 - **返回值**: 整数,表示字符数。 (2) **count_specific_word(text, word)**: - **功能**: 计算并返回文本中特定单词的出现次数。单词匹配是区分大小写的,并且要求整个单词匹配(即不是部分匹配)。 - **参数**: - `text` (str): 输入的文本字符串。 - `word` (str): 要统计的特定单词。 - **返回值**: 整数,表示特定单词出现的次数。 其他count函数功能类似,在此不一一阐述。 (3)**main()**: - **功能**: 主函数,处理命令行参数(-c、-w、-s、-e等)并调用相应的统计函数。 - **参数**: 无直接参数,但通过命令行传递。 - **返回值**: 无直接返回值,但会打印统计结果或错误信息。 **2.2.2参数说明** - `-c`: 统计字符数。 - ` -w `: 统计单词数。 - `-s`: 统计句子数。 - `-e`: 统计代码行数。 - `-m `: 统计空行数。 - `-a `: 统计注释行数。 - `-p `: 统计标点符号数。 - `-x `: 统计特定单词的出现次数。 **三、例程运行及其相关结果** **3.1.例程准备**   在运行前准备好纯英文txt文件,使其满足具有字符、句子、注释行的要求。 **3.2例程运行流程** 1. **检查命令行参数**: - 程序首先检查命令行参数的数量是否正确(3个或4个)。 - 如果参数数量不正确,会打印错误信息并退出。 2. **读取文件内容**: - 根据用户提供的文件名,尝试打开并读取文件内容。 - 如果文件不存在,会打印错误信息并退出。 3. **根据选项执行相应的统计函数**: - 根据用户选择的选项(如 `-c`、`-w`、`-s` 等),调用相应的统计函数。 - 每个统计函数都会处理文件内容并返回结果。 4. **输出结果**: - 将统计结果打印到控制台。 **3.3运行结果** **3.3.1 v0.2.py运行结果** ![v0.2的运行结果](v0.2/v0.2.py.png) **3.3.2 v0.3.py运行结果** ![v0.3的运行结果](v0.3/v0.3.py.png) ![v0.3的运行结果](v0.3/v0.3.py..png) **四、总结** **4.1 收获** - 掌握了字符串处理方法和正则表达式的应用。 - 学会了如何处理命令行参数。 - 提升了代码的组织和调试能力。 **4.2 改进空间** - 可以增加更多的统计功能,如统计不同类型单词的数量等。 - 可以优化性能,特别是对于大文件的处理。 - 可以添加更多的错误处理机制,以提高程序的健壮性。 通过本次实验,让我对python这个软件更加深入了解了,并且在其中收获快乐,这是一次非常棒的体验:)