您的位置:首页 > 编程语言 > Python开发

python实现wc

2020-03-05 09:20 671 查看

wordcount

 

GITHUB

https://github.com/06linxi/wordcount

项目相关要求

wc.exe 是一个常见的工具,它能统计文本文件的字符数、单词数和行数。

  • 具体功能要求:
    程序处理用户需求的模式为:
    wc.exe [parameter] [file_name]
  • 基本功能列表:
    wc.exe -c file.c
    //返回文件 file.c 的字符数(实现)
    wc.exe -w file.c
    //返回文件 file.c 的词的数目(实现)
    wc.exe -l file.c
    //返回文件 file.c 的行数(实现)
  • 拓展功能:

      -s   递归处理目录下符合条件的文件。(基本实现)
  •   -a   返回更复杂的数据(代码行 / 空行 / 注释行)。(基本实现)
  •   空行:本行全部是空格或格式控制字符,如果包括代码,则
    只有不超过一个可显示的字符,例如“{”。
  • 代码行:本行包括多于一个字符的代码。
  • 注释行:本行不是代码行,并且本行包括注释。一个有趣的例子是有些程序员会在单字符后面加注释:
     
    } //注释

    在这种情况下,这一行属于注释行。(这种情况没有处理)
  •   [file_name]: 文件或目录名,可以处理一般通配符。(实现)
  •   高级功能:
        -x 参数。这个参数单独使用。如果命令行有这个参数,则程序会显示图形界面,用户可以通过界面选取单个文件,程序就会显示文件的字符数、行数等全部统计信息。(实现)
      需求举例:
      wc.exe -s -a *.c(文件遍历没指定,一个文档遍历到天黑)

      返回当前目录及子目录中所有*.c 文件的代码行数、空行数、注释行数。

     

     

    遇到的困难及解决方法

    • 困难描述:各种bug
    • 做过哪些尝试:百度
    • 是否解决:基本解决
    • 有何收获:灵活使用搜索工具

     

    关键代码or设计说明

    详细代码参见github,注释挺详细的了    = =

     

    设计思路和流程:计划是先完成基本功能,然后就可以设计图形化界面,至于遍历文档和详细行信息有时间再去做。

    图形化界面是单独做出来的,可以直接独立于代码运行,其他的模块是 3个基本运算,1个详细运算,1个行详细信息计算,一个输出函数,其他的细节再在主函数里面补充。  

     

    测试运行

    三个基本功能

     

     

    实现详细行数信息

    实现文档遍历

     实现图形化界面

     

     

    PSP

    PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
    Planning 计划 10 10
    · Estimate · 估计这个任务需要多少时间 10 10
    Development 开发 540 1080
    · Analysis · 需求分析 (包括学习新技术) 60 600
    · Design Spec · 生成设计文档 30 30
    · Design Review · 设计复审 (和同事审核设计文档) 30 30
    · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 30 30
    · Design · 具体设计 30 30
    · Coding · 具体编码 300 300
    · Code Review · 代码复审 30 30
    · Test · 测试(自我测试,修改代码,提交修改) 30 30
    Reporting 报告 60 60
    · Test Report · 测试报告 40 40
    · Size Measurement · 计算工作量 10 10
    · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 10 10
      合计 610 1150

    总结

    知识的积累是十分重要的,这个项目有许多我从前没接触过的知识点,导致学习花费了许多时间。

    转载于:https://www.cnblogs.com/5185jim/p/9642523.html

    • 点赞
    • 收藏
    • 分享
    • 文章举报
    dingbeicf618011 发布了0 篇原创文章 · 获赞 0 · 访问量 5 私信 关注
  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: