基于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基本功能测试.md
        v0.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实现的一个命令行文本计数统计程序

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pip安装python包到指定python版本下

python -m pip install 包名1.命令行进入到指定python安装目录。比如我电脑上有python3.8也有python3.9。准备给python3.9安装指定的包

nginx国密ssl测试

文章目录 文件准备编译部署nginx申请国密数字证书配置证书并测试 文件准备 下载文件并上传到服务器,这里使用centos 7.8 本文涉及的程序文件已打包可以直接下载。 点击下载 下载国密版openssl https://www.gmssl.cn/gmssl/index.jsp 下载稳定版nginx http://n…

【Python】tensorboard实时查看模型训练过程的方法示例

本文对tensorboard实时查看模型训练过程的方法进行实例详解,以帮助大家理解和使用。 步骤1:查看训练过程保存的文件中是否有这个文件,红框内的。 步骤2:如果有,则打开终端,激活安装过tensorboard的环境。…

20231122给RK3399的挖掘机开发板适配Android12

20231122给RK3399的挖掘机开发板适配Android12 2023/11/22 9:30 主要步骤: rootrootrootroot-X99-Turbo:~$ tar --use-compress-programpigz -xvpf rk356x_android12_220722.tgz rootrootrootroot-X99-Turbo:~$ cd rk_android12_220722/ rootrootrootroot-X99-Tur…

C++ 标准模板库:容器

1. list 容器 1.1 初始化&#xff0c;获取读取 #include <iostream> #include<list>using namespace std;void printList(const list<int>&L){for(list<int>::const_iterator it L.begin(); it ! L.end(); it){cout << *it <<"…

让国内AI模型解题:滑动窗口中找出最大值,文心一言,通义千问错误率100%,讯飞星火略胜一筹

最近&#xff0c;一些大厂陆续放出了自己的AI模型&#xff0c;处于日常的使用和准确度&#xff0c;我通过一道试题来看一下文心一言、讯飞星火和通义千万的回答结果 本道题是一道很经典的算法题&#xff0c;请在滑动窗口中找出最大值 文心一言 第一次给出答案 package main…

Cypress-浏览器操作篇

Cypress-浏览器操作篇 页面的前进与后退 后退 cy.go(back); cy.go(-1);前进 cy.go(forward); cy.go(1);页面刷新 cy.reload() cy.reload(forceReload) cy.reload(options) cy.reload(forceReload, options)**options&#xff1a;**只有 timeout 和 log forceReload 是否…

深入理解路由协议:从概念到实践

路由技术是Internet得以持续运转的关键所在&#xff0c;路由是极其有趣而又复杂的课题&#xff0c;永远的话题。 SO&#xff1a;这是一个解析路由协议的基础文章。 目录 前言路由的概念路由协议的分类数据包在网络中的路由过程理解路由表的结构路由器关键功能解析 前言 在互联…

Navicat 技术指引 | 适用于 GaussDB 的自动运行功能

Navicat Premium&#xff08;16.2.8 Windows版或以上&#xff09; 已支持对 GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结构同步、协同合作、数据迁移等&#xff09;&#xff0c;这…

Linux反弹SHell与检测思路

免责声明 文章仅做经验分享用途,利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!!! 反弹shell payload在线生成 https://www.chinabaiker.com/Hack-Tools/ Online - Reverse Shell G…

mac mysql连接中断重新启动办法

遇到如图所示问题&#xff0c;可以用下面的命令重启mysql服务 sudo /usr/local/mysql/support-files/mysql.server start

和小伙伴们仔细梳理一下 Spring 国际化吧!从用法到源码!

国际化&#xff08;Internationalization&#xff0c;简称 I18N&#xff09;是指在 Java 应用程序中实现国际化的技术和方法。Java 提供了一套强大的国际化支持&#xff0c;使开发人员能够编写适应不同语言、地区和文化的应用程序。 Java 国际化的主要目标是使应用程序能够在不…

Faster R-CNN源码解析(一)

目录 前言训练脚本(train_mobilenetv2.py)自定义数据集(my_dataset.py) 前言 Faster R-CNN 是经典的two-stage目标检测模型&#xff0c; 原理上并不是很复杂&#xff0c;也就是RPNFast R-CNN&#xff0c;但是在代码的实现上确实有很多细节&#xff0c;并且源码也非常的多&…

面试题:Java 对象不使用时,为什么要赋值 null ?

文章目录 前言示例代码运行时栈典型的运行时栈Java的栈优化提醒 GC一瞥提醒 JVM的“BUG”总结 前言 最近&#xff0c;许多Java开发者都在讨论说&#xff0c;“不使用的对象应手动赋值为null“ 这句话&#xff0c;而且好多开发者一直信奉着这句话&#xff1b;问其原因&#xff…

专注短视频账号矩阵系统源头开发---saas工具

专注短视频账号矩阵系统源头开发---saas营销化工具&#xff0c;目前我们作为一家纯技术开发团队目前已经专注打磨开发这套系统企业版/线下版两个版本的saas营销拓客工具已经3年了&#xff0c;本套系统逻辑主要是从ai智能批量剪辑、账号矩阵全托管发布、私信触单收录、文案ai智能…

曲率半径的推导

参考文章 参考文章

5V升8.4V升压双节充电芯片WT4059

5V升8.4V升压双节充电芯片WT4059 今天给大家带来一款强大且实用的锂电池充电芯片&#xff1a;WT4059。 WT4059采用同步架构支持双节串联锂电池同步升压充电&#xff0c;它可用外部电阻配置充电电流&#xff0c;使其在应用时仅需极少的外围器件&#xff0c;有效减少整体方案尺寸…

JSP EL表达式获取list/Map集合与java Bean对象

上文 JSP EL表达式基本使用 中 我们对EL表达式做了一个基本的了解 也做了基础的字符串数据使用 那么 我们可以来看一下我们的集合 首先 list 这个比较简单 我们直接这样写代码 <% page import"java.util.ArrayList" %> <% page import"java.util.Lis…

【论文精读】HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face

HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face 前言Abstract1 Introduction2 Related Works3 HuggingGPT3.1 Task PlanningSpecification-based InstructionDemonstration-based Parsing 3.2 Model SelectionIn-context Task-model Assignment 3…

Dubbo框架

1&#xff1a;简介 Dubbo 是阿里巴巴公司开源的一个Java高性能优秀的服务框架 Apache Dubbo 是一款 RPC 服务开发框架&#xff0c;用于解决微服务架构下的服务治理与通信问题 这是Dubbo官网的介绍&#xff0c;下面是我对这dubbo的理解 首先介绍下什么是RPC&#xff1a; 常…