基于Python实现的一个命令行文本计数统计程序,可统计纯英文txt文本中的字符数,单词数,句子数,Python文件行数

项目简介

这是一个用 Python 编写的命令行文本计数统计程序。

  1. 基础功能:能正确统计导入的 纯英文txt文本 中的 字符数,单词数,句子数。
  2. 扩展功能:能正确统计导入的 Python 文件中的代码行数,注释行数,空白行数。

使用说明
基础功能命令接口
python wc.py -c [文件名] # 统计字符数量包含空格
python wc.py -w [文件名] # 统计单词数量
python wc.py -s [文件名] # 统计句子数量
扩展功能命令接口
python wc.py -code [文件名] # 统计python文件代码行数
python wc.py -note [文件名] # 统计python文件注释行数
python wc.py -em [文件名]   # 统计python文件空白行数 

文件目录说明
│   README.md
│
│   README.assets
│
├───Performance_test				# 性能分析可视化
│   ├───v0.2性能分析可视化
│   │       Call Graph(调用关系图).png
│   │       Statistcs(性能统计).png
│   │       v0.2wc.py.pstat
│   │       
│   └───v0.3性能分析可视化
│           Call Graph(调用关系图).png
│           Statistcs(性能统计).png
│           v0.3wc.py.pstat
│             
├───V0.1 							# 空项目
│   │   
│   └─── main.py
│               
├───V0.2 							# 项目完成基础功能
│   │   test1.txt 					# 测试文件
│   │   wc.py						# 主程序
│   │           
│   └───测试结果截图
│           基础功能_统计单词.png
│           基础功能_统计句子.png
│           基础功能_统计字符.png
│           程序异常捕获.png
│           
├───V0.3 							# 项目完成扩展功能
│   │   Lab_1.py 					# 测试文件
│   │   wc.py	 					# 主程序 
│   │           
│   └───测试结果截图
│           拓展功能测试_代码行数.png
│           拓展功能测试_注释行数.png
│           拓展功能测试_空白行数.png
│           程序异常捕获.png
│           
└───单元测试						  # 单元测试v0.2基本功能测试.mdv0.3拓展功能测试.md

历程运行结果
基础功能
  • Input:
python wc.py -c test1.txt # 统计字符数量包含空格
python wc.py -w test1.txt # 统计单词数量
python wc.py -s test1.txt # 统计句子数量
  • Output:
文件中的字符个数为:334
文件中的单词个数为:58
文件中的句子个数为:3
  • 测试文档截图

在这里插入图片描述

  • 运行结果截图

在这里插入图片描述

  • 异常捕获

在这里插入图片描述


扩展功能
  • Input:
python wc.py -code Lab_1.py # 统计python文件代码行数
python wc.py -note Lab_1.py # 统计python文件注释行数
python wc.py -em Lab_1.py   # 统计python文件空白行数 
  • Output:
Python文件中的代码行数为:30
Python文件中的注释行数为:17
Python文件中的空白行数为:10
  • 测试文件过大 见v0.3\Lab_1.py
  • 运行结果截图

在这里插入图片描述

  • 异常捕获

在这里插入图片描述


性能分析

PyCharm提供了性能分析Profile,如下图所示。利用Profile工具可以对代码进行性能分析,找出瓶颈所在。

在这里插入图片描述

点击 Run -> Profile 开始测试,代码运行结束后会生成一栏测试结果,测试结果由两部分构成,Statistics(性能统计)和Call Graph(调用关系图)

对v0.2代码进行性能分析 (具体结果见Performance_test文件)
  • Statistics(性能统计)部分截图

在这里插入图片描述

  • Call Graph(调用关系图)部分截图

在这里插入图片描述

对v0.3代码进行性能分析 (具体结果见Performance_test文件)
  • Statistics(性能统计)部分截图

在这里插入图片描述

  • Call Graph(调用关系图)部分截图

在这里插入图片描述

完整代码下载地址:基于Python实现的一个命令行文本计数统计程序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/162914.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用VisualSVN在Windows系统上设置SVN服务器并公网远程访问

文章目录 前言1. VisualSVN安装与配置2. VisualSVN Server管理界面配置3. 安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4. 固定公网地址访问 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学…

vivado联合modelsim测试覆盖率

(1)配置环境 安装modelsim和vivado。点击vivado菜单栏中的tools,在下拉选项中选择compile simulation libraries。simulator选项选择:modelsim simulator。compile library location表示编译库存放的路径。simulator executable p…

【网络奇缘】- 计算机网络|性能指标|体系结构

🌈个人主页: Aileen_0v0🔥系列专栏: 一见倾心,再见倾城 --- 计算机网络~💫个人格言:"没有罗马,那就自己创造罗马~" 目录 温故而知新 计算机网络性能指标 时延 时延带宽积 往返时延RTT 访问百度​编辑 访问b站 访问谷歌 …

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(一)

🚩纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:Linux入门 🔭【从零开始学习Linux】系列均属于Linux入门,主要包含Linux操作系统下的指令、操作、权限以及开发工具&a…

基于.net framework4.0框架下winform项目实现寄宿式web api

首先Nuget中下载包:Microsoft.AspNet.WebApi.SelfHost,如下: 注意版本哦,最高版本只能4.0.30506能用。 1.配置路由 public static class WebApiConfig{public static void Register(this HttpSelfHostConfiguration config){// …

Axure插件浏览器一键安装:轻松享受高效工作!

Axure插件对原型设计师很熟悉,但由于Axure插件是在国外开发的,所以在安装Axure插件时不仅需要下载中文包,激活步骤也比较繁琐,有时Axure插件与计算机系统不匹配,Axure插件格式不兼容。本文将详细介绍如何安装Axure插件…

CCFCSP试题编号:201912-2试题名称:回收站选址

这题只要比较坐标的四周&#xff0c;然后计数就可以了。 #include <iostream> using namespace std;int main() {int n;cin >> n;int arr[1005][2] { 0 };int res[5] { 0 };int up 0;int down 0;int left 0;int right 0;int score 0;for (int i 0; i <…

23款奔驰GLC260L升级原厂360全景影像 高清环绕

本次星骏汇小许介绍的是23款奔驰GLC260L升级原厂360全景影像&#xff0c;上帝视角看清车辆周围环境&#xff0c;更轻松驾驶 升级360全景影像系统共有前后左右4个摄像头&#xff0c;分别在车头&#xff0c;车尾&#xff0c;以及两边反光镜下各一个&#xff0c;分别用来采集车头&…

Modbus RTU、Modbus 库函数

Modbus RTU 与 Modbus TCP 的区别 一般在工业场景中&#xff0c;使用 Modbus RTU 的场景更多一些&#xff0c;Modbus RTU 基于串行协议进行收发数据&#xff0c;包括 RS232/485 等工业总线协议。采用主从问答式&#xff08;master / slave&#xff09;通信。 与 Modbus TCP 不…

基于springboot实现实习管理系统的设计与实现项目【项目源码+论文说明】计算机毕业设计

基于sprinmgboot实现实习管理系统的设计与实现演示 摘要 随着信息化时代的到来&#xff0c;管理系统都趋向于智能化、系统化&#xff0c;实习管理也不例外&#xff0c;但目前国内仍都使用人工管理&#xff0c;市场规模越来越大&#xff0c;同时信息量也越来越庞大&#xff0c;…

普通平衡树

题意&#xff1a;略&#xff0c;题中较清晰。 用二叉查找树来存储数据&#xff0c;为了增加效率&#xff0c;尽量使左子树和右子树的深度差不超过一&#xff0c;这样可以时间控制在logn&#xff0c;效率比较高。 右旋和左旋&#xff0c;目的是为了维护二叉树的操作&#xff0…

Dubbo引入Zookeeper等注册中心简介以及DubboAdmin简要介绍,为后续详解Dubbo各种注册中心做铺垫!

文章目录 一&#xff1a;Dubbo注册中心引言 1&#xff1a;什么是Dubbo的注册中心&#xff1f; 2&#xff1a;注册中心关系图解 3&#xff1a;引入注册中心服务执行流程 4&#xff1a;Dubbo注册中心好处 5&#xff1a;注册中心核心作用 二&#xff1a;注册中心实现方案 …

Springboot+vue的新冠病毒密接者跟踪系统(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频&#xff1a; Springbootvue的新冠病毒密接者跟踪系统(有报告)。Javaee项目&#xff0c;springboot vue前后端分离项目 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的新冠病毒密接者跟踪系统&#xff0c;采用M&#xff08;model&#xff09;V&#xff08;v…

景区智慧旅游智能化系统方案:PPT全文58页,附下载

关键词&#xff1a;智慧景区解决方案&#xff0c;智慧文旅解决方案&#xff0c;智慧旅游解决方案&#xff0c;智慧文旅综合运营平台 一、景区智慧旅游智能化系统建设背景 近年来&#xff0c;随着信息技术的快速发展和普及&#xff0c;以及旅游市场的不断扩大和升级&#xff0…

电脑自动删除文件怎么办?如何恢复?

在数字化时代&#xff0c;电脑已经成为人们不可或缺的工具之一。然而&#xff0c;由于各种原因&#xff0c;我们有时会遇到电脑自动删除文件的情况&#xff0c;这给我们的工作和生活带来了很多不便。那么&#xff0c;当电脑自动删除文件时&#xff0c;我们应该如何处理呢&#…

【Python爬虫】8大模块md文档从0到scrapy高手,第8篇:反爬与反反爬和验证码处理

本文主要学习一下关于爬虫的相关前置知识和一些理论性的知识&#xff0c;通过本文我们能够知道什么是爬虫&#xff0c;都有那些分类&#xff0c;爬虫能干什么等&#xff0c;同时还会站在爬虫的角度复习一下http协议。 Python爬虫和Scrapy全套笔记直接地址&#xff1a; 请移步这…

数据结构与算法编程题14

设计一个算法&#xff0c;通过一趟遍历在单链表中确定值最大的结点。 #include <iostream> using namespace std;typedef int Elemtype; #define ERROR 0; #define OK 1;typedef struct LNode {Elemtype data; //结点保存的数据struct LNode* next; //结构体指针…

RedHat NTP时间服务器配置Chrony(所有节点时间跟主节点时间同步)

NTP NTP&#xff08;Network Time Protocol&#xff09;是一种用于在计算机网络中同步时钟的协议。它的主要目的是确保网络中的各个设备具有准确的时间参考&#xff0c;以便协调事件顺序、安全通信和日志记录等应用。它通过分层体系结构、时间同步算法和准确的时间参考源来确保…

Linux设置静态IP

Linux设置静态IP 使用ip addr查看ip&#xff0c;如下所示就是动态IP 1、什么是静态IP&#xff1f; 静态ip就是固定的ip&#xff0c;需要手动设置。静态IP地址&#xff08;又称固定IP地址&#xff09;是长期分配给一台计算机或网络设备使用的 IP 地址。一般来说&#xff0c;一…

738. Monotone Increasing Digits 968. Binary Tree Cameras

738. Monotone Increasing Digits An integer has monotone increasing digits单调递增数字 if and only if each pair of adjacent digits x and y satisfy x < y. Given an integer n, return the largest number that is less than or equal to n with monotone increa…