C'est un stock de fonctions utilisées lors de l'analyse / agrégation des logs de chaque serveur et programme. Si vous souhaitez analyser les journaux avec Python, veuillez vous y référer!
Utilisez split. L'utilisation de split est grossièrement divisée
str.split () '', et demandez à la chaîne de caractères str de renvoyer une liste séparée par des blancs.
--``` str.split ('separator') Spécifiez un délimiteur comme
, et que la chaîne str renvoie une liste délimitée par le délimiteur spécifié.Il y a deux utilisations. Utilisez l'ancien `` str.split () ''. Les journaux sont souvent séparés par des tabulations ou un seul caractère d'espace. Il est bon de spécifier le délimiteur si le délimiteur est unifié dans le journal, mais malheureusement, la tabulation et l'espace pour un caractère peuvent être confondus.
str.split()Si tel est le cas, la tabulation et le blanc pour un caractère seront séparés comme le même «blanc».
Bien sûr, lorsqu'ils sont séparés par des virgules, etc., utilisez `` str.split ('separator') ``.
# Compter
Lors du comptage du nombre d'accès
#### **` count.py`**
```py
#Fonction à compter
def count( targets):
cnt = {}
for target in targets:
if target in cnt.keys():
cnt[target] += 1
else:
cnt[target] = 1
return cnt
#Je souhaite connaître le nombre d'occurrences d'une chaîne de caractères dans cette liste...
targets = ['aaa','bbb','ccc','aaa','bbb','aaa']
#Appelez la fonction pour compter
result = count( targets)
#Affichage des résultats du comptage
for key in result.keys():
print(key + ':' + result[key])
Vous pouvez implémenter une telle fonction et l'appeler, mais la classe
collections.Counter``` qui compte simplement en créant une instance dans les collections incluses dans le package Python3 standard. Il y en a, alors utilisons-le.
Si vous réécrivez le count.py écrit ci-dessus en utilisant la classe
collections.Counter```, il ressemblera à ceci.
count.py
import collections
#Je souhaite connaître le nombre d'occurrences d'une chaîne de caractères dans cette liste...
targets = ['aaa','bbb','ccc','aaa','bbb','aaa']
#Appelez la fonction pour compter
result = collections.Counter( targets)
#Affichage des résultats du comptage
for key in result.keys():
print(key + ':' + result[key])
La méthode d'affichage des résultats de comptage ne change pas.
Ensuite, il est préférable d'utiliser la classe
collections.Counter```, qui peut faire d'autres choses aussi bien que compter!
Recommended Posts