WordCount (Python)
WordCount (Python)
Github项目地址:https://github.com/w1036933220/WordCount
一、解题思路
- 把项目需求理清楚,画一个思维导图

- 考虑各部分功能所需要的大概实现思路

- 然后完成了计算文件属性的算法部分
- 再回头想对指令的解析问题,顺带添加了递归处理多个文件的功能
- 查python的os库文档,最后决定用os.walk读取当前文件夹内的所有文件夹和文件,替换掉输入的*和?通配符,再进行匹配
三、设计实现过程及代码说明
- main.py(入口文件)
1 | from utils.utils import * |
- orders.py
存放指令集,和输出各类数据的函数
1 | from utils.count import * |
- utils.py
放置解析指令、读取文件、模糊搜素的函数
1 | import os |
- count.py
存放计算文件属性的类
1 | import re |
5.main_view.py(新增)
1 | import tkinter as tk |
五、PSP表格
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | 10 | 8 |
| · Estimate | · 估计这个任务需要多少时间 | 10 | 8 |
| Development | 开发 | 460 | 610 |
| · Analysis | · 需求分析 (包括学习新技术) | 120 | 200 |
| · Design Spec | · 生成设计文档 | 90 | 60 |
| · Design Review | · 设计复审 (和同事审核设计文档) | 5 | 5 |
| · Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 5 | 0 |
| · Design | · 具体设计 | 120 | 100 |
| · Coding | · 具体编码 | 90 | 200 |
| · Code Review | · 代码复审 | 10 | 30 |
| · Test | · 测试(自我测试,修改代码,提交修改) | 20 | 15 |
| Reporting | 报告 | 30 | 32 |
| · Test Report | · 测试报告 | 10 | 12 |
| · Size Measurement | · 计算工作量 | 10 | 5 |
| · Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 10 | 8 |
| 合计 | 355 | 630 |
六、测试运行


图形界面测试(新增)


七、总结
- 太久没写python了,发现居然没有switch这个语句,百度查到了表驱动这个东西
- 用时与预计的出入有点大
- 输入验证处理没有做完全,图形界面没时间做了(过了大半年遗忘率确实高)
- 写的时候发现python有些问题不知道是bug还是什么
1 | orders = { |
这是我的指令集,如果把他写成像js
1 | orders = { |
python不管会不会用到这个指令集,都会把字典中的值执行一遍,所以只能放函数名,js就不会
WordCount (Python)
https://liang5757.github.io/2020/07/28/大学课程/WordCount-Python/