# Planck **Repository Path**: Hualuo_Huakai/planck ## Basic Information - **Project Name**: Planck - **Description**: No description available - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-31 - **Last Updated**: 2025-11-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 软件技术基础第二次作业 ## 项目介绍 本项目是基于VScode 1.105.1 IDE平台,使用Python语言编写的命令行文本计数统计程序。并通过pyinstaller插件将Python源文件转化为可执行文件(.exe),其命令模式为:main.exe[参数][文件名]。 - **基础任务:** 正确统计导入的纯英文txt文本中的字符数,单词数,句子数。 - **拓展任务:** 正确统计导入的Python源文件的代码行、空行、注释行等,并提供命令接口 ## 使用说明 1.首先,打开main.exe所在文件夹,单击地址栏,输入cmd,如下图。 ![Alt text](images/v0.2运行引导.png) 2.随后,按下回车,就会出现命令行,在光标跳动处输入指令即可。 ![Alt text](images/cmd画面.png) 3.最后,根据以下指令,键入命令行即可,如下图。 - **基础任务:** ```bash main.exe -c [文件名] # 统计字符数量包含空格 main.exe -w [文件名] # 统计单词数量 main.exe -s [文件名] # 统计句子数量 ``` - **拓展任务:** ```bash main.exe -l [文件名] # 统计代码行数 main.exe -e [文件名] # 统计空行数 main.exe --com [文件名] # 统计注释行数 ``` ## 文件列表说明: ```bash filetree ├── README.md ├── /V0.1/ # 初代版本 │ ├── main.py │ ├── main.exe ├── /V0.2/ # 基础功能版本 │ ├── main.py │ ├── file.txt │ ├── main.exe │ ├── UnitTest.py # 单元测试 │ ├── /performance/ # 性能测试 │ │ ├── performance_test.py │ │ └── performance_text.txt │ │ └── v0.2性能测试.png ├── /V0.3/ # 拓展功能版本 │ ├── main.py │ ├── file.txt │ ├── test.py │ ├── main.exe │ ├── UnitTest.py # 单元测试 │ ├── /performance/ # 性能测试 │ │ ├── performance_test.py │ │ └── code.py │ │ └── v0.3性能测试.png ├── /picture/ # 测试图片 └── /util/ ``` ## 历程及运行结果 ### v0.1 命令行窗口输入main.exe回车后的结果如下 ![Alt text](images/v0.1运行图片.png) ### v0.2 命令行窗口分别输入`main.exe -c file.txt`、`main.exe -w file.txt`、`main.exe -s file.txt`,回车后其结果如下 ![Alt text](images/v0.2运行演示.png) ### v0.3 命令行窗口分别输入`main.exe -l file.txt`、`main.exe -e file.txt`、`main.exe --com file.txt`、`main.exe -c file.txt`、`main.exe -w file.txt`、`main.exe -s file.txt`,回车后其结果如下 ![Alt text](images/v0.3运行演示.png) ## 单元测试 ### v0.2 下面通过使用python内嵌的测试框架unittest,加入多个测试示例进行单元测试,结果如下: ![Alt text](images/v0.2单元测试.png) ### v0.3 同V0.2版本一样,使用测试框架unittest,对加入的测试示例进行单元测试,结果如下: ![Alt text](images/v0.3单元测试.png) ## 性能测试 在VScode IDE 平台安装 Python 语言包后,其内置的 cprofile 模块,可以清晰地找到程序中占总执行时间最高的部分,我们可以专心优化这部分代码,而不必纠结于一些对性能影响比较少的操作。 ### v0.2 下图为V0.2版本性能测试结果 ![Alt text](v0.2/Performance/v0.2性能测试.png) ### v0.3 下图为V0.3版本性能测试结果 ![Alt text](v0.3/Performance/v0.3性能测试.png) ## 异常处理 ### v0.2 当输入者错误输入指令时,会自动识别错误命令,并提供合法命令提示,使代码更具健壮性,如下图所示: ![Alt text](images/v0.2异常报错提示.png) ### v0.3 同v0.2一样,通过使用argparse库的提示帮助功能,当输入者错误输入指令时,会自动识别错误命令,并提供合法命令提示,同时给于错误文件名报错,如下图所示: ![Alt text](images/v0.3异常报错提示.png) ## 心得体会 经过本次作业,我接触到了许多新知识。 1. 学习了Python基础语法以及re库调用正则表达式的使用 2. 了解了使用pyinstaller工具转换成exe文件的方法 3. 使用了测试框架unittest进行单元测试 4. 同时还使用cprofile模块对程序进行了性能测试 在对exe文件测试的过程中,还掌握了命令提示符(CMD)这个Windows中的强大命令行工具,感受到了不同于图形化界面(GUI)的用户界面方式。在软件工程课上,当老师提到代码异常处理时,使我想到了用argparse库来实现`-help`命令,它不仅能给用户提供输入命令帮助,还能在用户输入错误指令时合法命令提示,使代码更完善,更具合理健壮性,其帮助命令如下图所示: ![Alt text](images/help帮助命令.png) 本次作业使我受益匪浅,我既学到了许多过去从来没有接触过的知识,也更加深刻地了解了软件工程的思维与原理。