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

缘起:

  开发人员需要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 获取关键字的资料请关注我们其它相关文章!

(0)

相关推荐

  • python数据分析:关键字提取方式

    TF-IDF TF-IDF(Term Frequencey-Inverse Document Frequency)指词频-逆文档频率,它属于数值统计的范畴.使用TF-IDF,我们能够学习一个词对于数据集中的一个文档的重要性. TF-IDF的概念 TF-IDF有两部分,词频和逆文档频率.首先介绍词频,这个词很直观,词频表示每个词在文档或数据集中出现的频率.等式如下: TF(t)=词t在一篇文档中出现的次数/这篇文档的总词数 第二部分--逆文档频率实际上告诉了我们一个单词对文档的重要性.这是因为当计

  • Python全局变量与global关键字常见错误解决方案

    在Python的变量使用中,经常会遇到这样的错误: local variable 'a' referenced before assignment 它的意思是:局部变量"a"在赋值前就被引用了. 比如运行下面的代码就会出现这样的问题: a = 3 def Fuc(): print (a) a = a + 1 Fuc() ​ 但是如果把 a = a + 1 这一句删除又不会出现上述问题了 a = 3 def Fuc(): print (a) Fuc() ​ 原来,在Python中,a=3

  • python中的global关键字的使用方法

    摘要 global 标志实际上是为了提示 python 解释器,表明被其修饰的变量是全局变量.这样解释器就可以从当前空间 (current scope) 中读写相应变量了. Python 的全局变量是模块 (module) 级别的 每个 python 函数拥有对应的 __globals__ 字典,该字典与函数所属模块的 __dict__ 字典完全相同.函数的全局变量也会从这个字典中获取 注:上面三句话的意思就是,python 解释器发现函数中的某个变量被 global 关键字修饰,就去函数的 _

  • Python中有几个关键字

    Python中关键词有多少个?Python中关键词目前有31个,可以利用Python的内置的keyword模块进行输出查看. keyword模块 Help on module keyword: NAME keyword - Keywords (from "graminit.c") FILE /usr/lib64/python2.6/keyword.py DESCRIPTION This file is automatically generated; please don't muck

  • Python爬虫抓取论坛关键字过程解析

    前言: 之前学习了用python爬虫的基本知识,现在计划用爬虫去做一些实际的数据统计功能.由于前段时间演员的诞生带火了几个年轻的实力派演员,想用爬虫程序搜索某论坛中对于某些演员的讨论热度,并按照日期统计每天的讨论量. 这个项目总共分为两步: 1.获取所有帖子的链接: 将最近一个月内的帖子链接保存到数组中 2.从回帖中搜索演员名字: 从数组中打开链接,翻出该链接的所有回帖,在回帖中查找演员的名字 获取所有帖子的链接: 搜索的范围依然是以虎扑影视区为界限.虎扑影视区一天约5000个回帖,一月下来超过

  • Python3 获取一大段文本之间两个关键字之间的内容方法

    用re或者string.find.以下是re代码 import re #文本所在TXT文件 file = '123.txt' #关键字1,2(修改引号间的内容) w1 = '123' w2 = '456' f = open(file,'r') buff = f.read() #清除换行符,请取消下一行注释 #buff = buff.replace('\n','') pat = re.compile(w1+'(.*?)'+w2,re.S) result = pat.findall(buff) pr

  • python global关键字的用法详解

    最近刚好有朋友遇到个global相关的问题,这里简单学习一下global关键字的用法. 想要更好的了解global关键字,首先要熟悉python的全局变量与局部变量的概念.global关键字的作用是可以申明一个局部变量为全局变量,下面看一下实例 一.变量作用域的说明 这里简单提一下变量作用域的概念,有兴趣的小伙伴,可以查一下相关的博客 1.局部变量 def a(): ## 菊部变量 - ,- local = 1 print(local) ## 全局无法使用,只有自己可用 print(lobal)

  • python 监控logcat关键字功能

    本文主要介绍使用Python调用ADB命令实现实时监控logcat关键字的功能 采用多进程,可同时监控多个设备,监控多个关键字. 需要配置ADB环境,具体配置就不多介绍,随便搜一下一大把,直接上代码 通过一个全局变量控制开启和关闭监控功能, INSTRUCTION 用于根据指令获取对应的方法名 import os, threading, datetime # 获取当前文件所在目录,拼接出LOG路径 LOG_PATH = os.path.join(os.path.dirname(os.path.a

  • python实现按关键字筛选日志文件

    最近忙成了狗,五六个项目堆在一起,头疼的是测试还失惊无神的给我丢来一个几十甚至上百M的日志文件,动不动就几十上百万行,就算是搜索也看得头昏眼花的,因此自己花了点时间写了一段小脚本去过滤日志,当然这样的东西网上应该大把,但是还是想自己搞下,权当学习! #!/usr/bin/python # -*- encoding: utf-8 -*- # version 1.0 import re import time ''' 用于筛选日志文件,适用于python2.x版本 使用时将日志文件放于search.

  • Python3 文章标题关键字提取的例子

    思路: 1.读取所有文章标题: 2.用"结巴分词"的工具包进行文章标题的词语分割: 3.用"sklearn"的工具包计算Tf-idf(词频-逆文档率); 4.得到满足关键词权重阈值的词 结巴分词详见:结巴分词Github sklearn详见:文本特征提取--4.2.3.4 Tf-idf项加权 import os import jieba import sys from sklearn.feature_extraction.text import TfidfVecto

随机推荐