Python统计Tomcat日志关键字数量的实现方法
本文介绍如何使用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 获取关键字的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









