用python获取txt文件中关键字的数量


Posted in Python onDecember 24, 2020

缘起:

开发人员需要tomcat中一个项目在一个月的访问请求量,因其他原因只剩下查找tomcat请求日志的方法获取,刚好最近在学习python,于是就用python摸索了下;

大体思路:

                  1.把相应tomcat的日志文件拷到有python环境的机器

 2.用os.listdir()获取到目录下所有文件名称的列表,再用for循环遍历列表加上字符串拼接得到已文件名的具体路径

 3.用open()读取文件,下面代码中for line in f:是按行读取txt文件的内容(一行一行的读,不会加载全部文件内容)

 4.用count()方法统计以项目为名的关键字(字符串)

知识点:

文件的读取和count()方法

Python count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

count()方法语法:str.count(sub, start= 0,end=len(string))

参数:

  • sub -- 搜索的子字符串
  • start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
  • end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。

代码如下

(如果文件过多可以加工作队列(gevent库)):

import os

# 打?日?文件并计数
def read_log(url,keyword):
  count = 0
  with open(url,'r',encoding='utf-8') as f:  # 打开文件
  for line in f:                  # 按行读取txt文件
    count += line.count(keyword,53,64)  # count()方法计数,keyword为传入的关键字(字符串)
return count

path= 'E:\\python\\vscode\\工作\\log\\80\\'
dirlist = os.listdir(path)  # 获取path路径下的所有txt文件名

sum = 0
for name in dirlist: 

# 遍历获取txt文件名
  url = path + name
  num = read_log(url,keyword)
  print(str(name) + ' 文件中个数为: ' + str(num))
  sum += num
print('关键字总个数: ' + str(sum))

以上就是用python获取txt文件中关键字的数量的详细内容,更多关于python 获取关键字的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python对url格式解析的方法
May 13 Python
举例讲解Python中的身份运算符的使用方法
Oct 13 Python
Python Web框架Tornado运行和部署
Oct 19 Python
Python面向对象程序设计类的多态用法详解
Apr 12 Python
如何通过python画loss曲线的方法
Jun 26 Python
详解python中自定义超时异常的几种方法
Jul 29 Python
python实现按关键字筛选日志文件
Dec 24 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
Feb 17 Python
解决flask接口返回的内容中文乱码的问题
Apr 03 Python
Python应用实现双指数函数及拟合代码实例
Jun 19 Python
Python  word实现读取及导出代码解析
Jul 09 Python
Pytorch 中的optimizer使用说明
Mar 03 Python
举例讲解Python装饰器
Dec 24 #Python
python 基于opencv操作摄像头
Dec 24 #Python
python 基于selenium实现鼠标拖拽功能
Dec 24 #Python
python实现简单猜单词游戏
Dec 24 #Python
Python 虚拟环境工作原理解析
Dec 24 #Python
python基于openpyxl生成excel文件
Dec 23 #Python
Python+unittest+requests+excel实现接口自动化测试框架
Dec 23 #Python
You might like
PHP如何利用P3P实现跨域
2013/08/24 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
laravel 解决paginate查询多个字段报错的问题
2019/10/22 PHP
Javascript 面试题随笔
2011/03/31 Javascript
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
jQuery中odd选择器的定义和用法
2014/12/23 Javascript
jquery获取所有选中的checkbox实现代码
2016/05/26 Javascript
老生常谈js中0到底是 true 还是 false
2017/03/08 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
angularJS之$http:与服务器交互示例
2017/03/17 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
vue2.0 datepicker使用方法
2018/02/04 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
2018/08/16 Javascript
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
vue实现压缩图片预览并上传功能(promise封装)
2019/01/10 Javascript
Vue 实现手动刷新组件的方法
2019/02/19 Javascript
Vue项目移动端滚动穿透问题的实现
2020/05/19 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
2020/07/22 Javascript
[02:25]DOTA2英雄基础教程 熊战士
2014/01/03 DOTA
[01:01:24]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[48:00]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第二场 11.04
2020/11/04 DOTA
python连接池实现示例程序
2013/11/26 Python
python自然语言编码转换模块codecs介绍
2015/04/08 Python
Python调用微信公众平台接口操作示例
2017/07/08 Python
python3.4控制用户输入与输出的方法
2018/10/17 Python
简单的HTML5初步入门教程
2015/09/29 HTML / CSS
英国露营设备和户外服装购物网站:Simply Hike
2019/05/05 全球购物
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
超市促销实习自我鉴定
2013/09/23 职场文书
环境工程大学生个人的自我评价
2013/10/08 职场文书
毕业生实习鉴定
2013/12/11 职场文书
投标担保书范文
2014/04/02 职场文书
诚实守信演讲稿
2014/09/01 职场文书
党员个人剖析材料(四风问题)
2014/10/07 职场文书