python统计word页码_python 实现 Word Count

本文介绍了一个使用Python编写的命令行工具,该工具模仿wc.exe的功能,统计源代码文件的字符数、单词数和行数,并提供了递归处理目录、分析代码行类型等扩展功能。项目采用Python的os、re和tkinter库,实现了基础统计命令和图形用户界面。
摘要由CSDN通过智能技术生成

一、WC 项目要求

wc.exe 是一个常见的工具,它能统计文本文件的字符数、单词数和行数。这个项目要求写一个命令行程序,模仿已有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 文件的代码行数、空行数、注释行数。

二、解题思路

使用的编程语言:python;

使用工具及库:pycharm,os,re,tkinter;

使用的新知识:文件的读取,简单ui界面的编写,git base的使用;

思路:根据题目来看,涉及的问题主要有通过命令进行功能选择、文件的定位与读取、文本信息的提取、可视界面的设计,一个功能接着一个功能的完成完善。

三、设计实现过程

根据我的思路,我先后完成的是命令识别、基础需求函数、拓展需求函数、GUI界面。

命令识别用的是最笨的字符串截取,例如指令-c test.txt,通过截取得到-c,test.txt, .txt三个部分,分别对应的是指令关键字,文件名,文件拓展名;接下来是函数的编写,函数的参数由四部分组成,文件路径path,文件名target,文件拓展名file_extension,模式model,model参数是为了识别-s参数。GUI界面通过python的tkinter实现,(最初设想的是gui也调用函数文件中的函数,但由于函数功能简单,直接在gui文件中重写了一遍,有投机取巧的嫌疑)。

四、关键代码与设计说明

1、实现功能选择

存在问题:由于语言知识掌握不够,只想到一种简单的思路。

print('输入进行操作的路径')

path=input()print('输入命令:')

str1=input()

point= str1.find('.')#文件拓展名

file_extension =str1[point:]if str1[0:2] == '-s':#文件名

target = str1[6:]#指令名

order = str1[3:5]

model= '-s'

else:#文件名

target = str1[3:]#指令名

order = str1[0:2]

model

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值