软件技术基础第二次作业

项目 内容
作业课程 https://edu.cnblogs.com/campus/zjlg/25rjjc
作业目标 实现一个命令行文本计数统计程序;能正确统计导入的纯英文txt文本中的字符数,单词数,句子数
姓名 - 学号 占传宇-2023329301054
码云仓库地址 https://gitee.com/Hualuo_Huakai/planck.git

软件技术基础第二次作业

项目介绍

本项目是基于VScode 1.105.1 IDE平台,使用Python语言编写的命令行文本计数统计程序。并通过pyinstaller插件将Python源文件转化为可执行文件(.exe),其命令模式为:main.exe[参数][文件名]。

  • 基础任务: 正确统计导入的纯英文txt文本中的字符数,单词数,句子数。
  • 拓展任务: 正确统计导入的Python源文件的代码行、空行、注释行等,并提供命令接口

使用说明

1.首先,打开main.exe所在文件夹,单击地址栏,输入cmd,如下图。

v0

2.随后,按下回车,就会出现命令行,在光标跳动处输入指令即可。

cmd画面

3.最后,根据以下指令,键入命令行即可,如下图。

  • 基础任务:
  main.exe -c [文件名] # 统计字符数量包含空格
  main.exe -w [文件名] # 统计单词数量
  main.exe -s [文件名] # 统计句子数量
  • 拓展任务:
  main.exe -l [文件名] # 统计代码行数
  main.exe -e [文件名] # 统计空行数
  main.exe --com [文件名] # 统计注释行数

文件列表说明:

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回车后的结果如下

v0

v0.2

命令行窗口分别输入main.exe -c file.txtmain.exe -w file.txtmain.exe -s file.txt,回车后其结果如下

v0

v0.3

命令行窗口分别输入main.exe -l file.txtmain.exe -e file.txtmain.exe --com file.txtmain.exe -c file.txtmain.exe -w file.txtmain.exe -s file.txt,回车后其结果如下

v0

单元测试

v0.2

下面通过使用python内嵌的测试框架unittest,加入多个测试示例进行单元测试,结果如下:

v0

v0.3

同V0.2版本一样,使用测试框架unittest,对加入的测试示例进行单元测试,结果如下:

v0

性能测试

在VScode IDE 平台安装 Python 语言包后,其内置的 cprofile 模块,可以清晰地找到程序中占总执行时间最高的部分,我们可以专心优化这部分代码,而不必纠结于一些对性能影响比较少的操作。

v0.2

下图为V0.2版本性能测试结果

v0

v0.3

下图为V0.3版本性能测试结果

v0

异常处理

v0.2

当输入者错误输入指令时,会自动识别错误命令,并提供合法命令提示,使代码更具健壮性,如下图所示:

v0

v0.3

同v0.2一样,通过使用argparse库的提示帮助功能,当输入者错误输入指令时,会自动识别错误命令,并提供合法命令提示,同时给于错误文件名报错,如下图所示:

v0

心得体会

经过本次作业,我接触到了许多新知识。

  1. 学习到了Python基础语法以及re库调用正则化的使用
  2. 了解了使用pyinstaller工具转换成exe文件的方法
  3. 使用了测试框架unittest进行单元测试
  4. 同时还使用cprofile模块对程序进行了性能测试

在对exe文件测试的过程中,还掌握了命令提示符(CMD)这个Windows中的强大命令行工具,感受到了不同于图形化界面(GUI)的用户界面方式。在软件工程课上,当老师提到代码异常处理时,使我想到了用argparse库来实现-help命令,它不仅能给用户提供输入命令帮助,还能在用户输入错误指令时合法命令提示,使代码更完善,更具合理健壮性,其帮助命令如下图所示:

help帮助命令

这次作业使我受益匪浅,我既学到了许多过去从来没有接触过的知识,也更加深刻地了解了软件工程的思维与原理。

posted @ 2025-11-01 14:22  仍是少年郎  阅读(14)  评论(0)    收藏  举报