用python獲取txt文件中關(guān)鍵字的數(shù)量
緣起:
開發(fā)人員需要tomcat中一個(gè)項(xiàng)目在一個(gè)月的訪問請求量,因其他原因只剩下查找tomcat請求日志的方法獲取,剛好最近在學(xué)習(xí)python,于是就用python摸索了下;
大體思路:
1.把相應(yīng)tomcat的日志文件拷到有python環(huán)境的機(jī)器
2.用os.listdir()獲取到目錄下所有文件名稱的列表,再用for循環(huán)遍歷列表加上字符串拼接得到已文件名的具體路徑
3.用open()讀取文件,下面代碼中for line in f:是按行讀取txt文件的內(nèi)容(一行一行的讀,不會(huì)加載全部文件內(nèi)容)
4.用count()方法統(tǒng)計(jì)以項(xiàng)目為名的關(guān)鍵字(字符串)
知識點(diǎn):
文件的讀取和count()方法
Python count() 方法用于統(tǒng)計(jì)字符串里某個(gè)字符出現(xiàn)的次數(shù)。可選參數(shù)為在字符串搜索的開始與結(jié)束位置。
count()方法語法:str.count(sub, start= 0,end=len(string))
參數(shù):
- sub -- 搜索的子字符串
- start -- 字符串開始搜索的位置。默認(rèn)為第一個(gè)字符,第一個(gè)字符索引值為0。
- end -- 字符串中結(jié)束搜索的位置。字符中第一個(gè)字符的索引為 0。默認(rèn)為字符串的最后一個(gè)位置。
代碼如下
(如果文件過多可以加工作隊(duì)列(gevent庫)):
import os
# 打開日誌文件并計(jì)數(shù)
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()方法計(jì)數(shù),keyword為傳入的關(guān)鍵字(字符串)
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) + ' 文件中個(gè)數(shù)為: ' + str(num))
sum += num
print('關(guān)鍵字總個(gè)數(shù): ' + str(sum))
以上就是用python獲取txt文件中關(guān)鍵字的數(shù)量的詳細(xì)內(nèi)容,更多關(guān)于python 獲取關(guān)鍵字的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Anaconda使用IDLE的實(shí)現(xiàn)示例
這篇文章主要介紹了Anaconda使用IDLE的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Python根據(jù)輸入?yún)?shù)計(jì)算結(jié)果的實(shí)例方法
在本篇文章里小編個(gè)大家整理了一篇關(guān)于Python根據(jù)輸入?yún)?shù)計(jì)算結(jié)果的實(shí)例方法,有興趣的朋友們可以跟著學(xué)習(xí)參考下。2021-08-08
徹底弄懂Python中的回調(diào)函數(shù)(callback)
回調(diào)函數(shù)就是一個(gè)通過函數(shù)指針調(diào)用的函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python中回調(diào)函數(shù)(callback)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
PyQt通過動(dòng)畫實(shí)現(xiàn)平滑滾動(dòng)的QScrollArea
這篇文章主要為大家詳細(xì)介紹了PyQt如何使用Qt的動(dòng)畫框架 QPropertyAnimation來實(shí)現(xiàn)平滑滾動(dòng)的QScrollArea,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的可以學(xué)習(xí)一下2023-01-01
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
這篇文章主要介紹了OpenCV2.3.1+Python2.7.3+Numpy等的配置解析,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
Django更新models數(shù)據(jù)庫結(jié)構(gòu)步驟
這篇文章主要介紹了Django更新models數(shù)據(jù)庫結(jié)構(gòu)的操作步驟,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
pandas的drop_duplicates無法去重問題解決
在我們利用Pandas進(jìn)行數(shù)據(jù)清洗的時(shí)候,往往會(huì)用到drop_duplicates()進(jìn)行去重,本文主要介紹了pandas的drop_duplicates無法去重問題解決,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
Python實(shí)現(xiàn)的字典排序操作示例【按鍵名key與鍵值value排序】
這篇文章主要介紹了Python實(shí)現(xiàn)的字典排序操作,結(jié)合實(shí)例形式分析了Python針對字典分別按照鍵名key與鍵值value進(jìn)行排序的相關(guān)操作技巧,需要的朋友可以參考下2018-12-12

