开发人员需要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))
参数:
(如果文件过多可以加工作队列(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 获取关键字的资料请关注小牛知识库其它相关文章!
假设我有一个txt文件中的文本: bla bla bla bla bla bla 标题 Lorem ipsum dolor sat amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut laboure et dolore magna aliqua。 Ut enim ad minim veniam, 条件 bla
我一直在互联网上寻找帮助,但我找不到,所以我求助于发帖。 我有一个txt文件,格式如下 1/2 0 1/6 6/11 1/6 2/10 我需要读取这些单独的分数,并输入分子和分母的函数称为BigFraction(num,denom)。 我调用读取器并将其作为字符串输出。然后,我在空格上进行拆分,以获得作为字符串的各个分数,并将它们输入到我的助手方法strToBF中,该方法在正斜杠上进行拆分,并输入
问题内容: 我想获取所有Pythons关键字作为字符串的列表。如果我可以为内置函数做类似的事情,那也将很漂亮。 像这样的东西: 问题答案: 您询问了有关 语句的信息 ,同时在输出示例中显示了 关键字 。 如果您在寻找 关键字 ,它们都列在模块中: 从文档: 包含为解释程序定义的所有关键字的序列。如果将任何关键字定义为仅在特定语句生效时才处于活动状态,则这些关键字也将包括在内。
我正在试着阅读我的文件的每一行,其中包含一个用户名列表,并用它创建一个登录系统。我正在尝试实现一个基本的登录系统,它的用户名存储在.txt文件中,但我的代码不工作,我不知道为什么。我认为问题出在检查用户名的循环中。 这是我的代码,但它不起作用,只是打印总是失败: 有什么想法吗?
目前为止,我们使用函数时所用的参数都是位置参数,即传入函数的实际参数必须与形式参数的数量和位置对应。而本节将介绍的关键字参数,则可以避免牢记参数位置的麻烦,令函数的调用和参数传递更加灵活方便。 关键字参数 是指使用形式参数的名字来确定输入的参数值。通过此方式指定函数实参时,不再需要与形参的位置完全一致,只要将参数名写正确即可。 因此,Python 函数的参数名应该具有更好的语义,这样程序可以立刻明
下面看似简单的代码抛出以下错误 回溯(最近一次调用last):文件“search.py”,第48行,pageToken=page_token)。方法中的第716行执行()文件“C:\Users\Choi\AppData\Local\Programs\Python\Python37\lib\site packages\GoogleAppClient\discovery.py” raise TypeE