Python统计Tomcat日志关键字数量的实现方法

洛溪
洛溪
发布时间:2026-10-15| 3人浏览过
原创

本文介绍如何使用Python脚本统计Tomcat项目日志文件中特定关键字的出现次数。通过os.listdir遍历文件,利用open按行读取内容,并结合字符串count方法指定起始和结束位置进行精准计数,最终汇总所有日志文件的关键字总量。

缘起:

开发人员需要统计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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。