• 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)) 
  • 相关阅读:
    Flask基础01
    Django logging配置
    JSONP和CORS跨域
    Scrapy框架
    请求库之urllib,requests及工具selenium
    MongoDB安装
    Django 视图层
    Django REST framework 2
    WebSocket
    爬虫性能相关
  • 原文地址:https://www.cnblogs.com/shiqing-zhang/p/14173957.html
Copyright © 2020-2023  润新知