【发布时间】:2020-06-12 10:48:10
【问题描述】:
我在文本文件中有这些行:
2018-11-06 16:52:01.901| on thread[140447603222272 c0s0]| IP[192.168.0.244:5000]| master| 192.168.0.244| omer| (stmt : 0) | admin| Success
2018-11-06 16:52:15.160| on thread[140447603222272 c0s1]| IP[192.168.0.244:5001]| master| 192.168.0.244| userAdmin| (stmt : 1) | admin| Success
2018-11-06 16:52:27.351| on thread[140447603222272 c0s3]| IP[192.168.0.244:5000]| master| 192.168.0.244| userAdmin| (stmt : 3) | admin| Success
2018-11-06 16:52:28.159| on thread[140447603222272 c0s5]| IP[192.168.0.244:5000]| master| 192.168.0.244| userAdmin| (stmt : 5) | admin| Success
2018-11-06 16:52:30.485| on thread[140447603222272 c0s7]| IP[192.168.0.244:5000]| master| 192.168.0.244| userAdmin| (stmt : 7) | admin| Success
2018-11-06 16:52:54.217| on thread[140447603222272 c0s11]| IP[192.168.0.244:5000]| master| 192.168.0.244| Gilc| (stmt : 11) | admin| Success
2018-11-06 16:53:04.600| on thread[140447603222272 c10s12]| IP[192.168.0.244:5000]| master| 192.168.0.244| userAdmin| (stmt : 12) | admin| Success
2018-11-06 16:53:05.617| on thread[140447603222272 c10s13]| IP[192.168.0.244:5000]| master| 192.168.0.244| userAdmin| (stmt : 13) | admin| Success
2018-11-06 16:53:18.958| on thread[140447603222272 c10s14]| IP[192.168.0.244:5000]| master| 192.168.0.244| userAdmin| (stmt : 14) | admin| Success
2018-11-06 16:53:26.25| on thread[140447603222272 c10s15]| IP[192.168.0.244:5000]| master| 192.168.0.244| Guy| (stmt : 15) | admin| Success
2018-11-06 16:53:36.816| on thread[140447603222272 c10s17]| IP[192.168.0.244:5005]| master| 192.168.0.244| userAdmin| (stmt : 17) | admin| Success
2018-11-06 16:53:41.116| on thread[140447603222272 c13s18]| IP[192.168.0.244:5000]| master| 192.168.0.244| userAdmin| (stmt : 18) | admin| Success
2018-11-06 16:53:51.517| on thread[140447603222272 c13s19]| IP[192.168.0.244:5000]| master| 192.168.0.244| userAdmin| (stmt : 19) | admin| Success
2018-11-06 16:53:55.500| on thread[140447603222272 c13s21]| IP[192.168.0.244:5000]| master| 192.168.0.244| userAdmin| (stmt : 21) | admin| Success
2018-11-06 16:53:56.333| on thread[140447603222272 c13s23]| IP[192.168.0.244:5000]| master_backup| 192.168.0.244| userAdmin| (stmt : 23) | admin| Success
2018-11-06 16:54:03.758| on thread[140447603222272 c13s25]| IP[192.168.0.244:5000]| master| 192.168.0.244| userAdmin| (stmt : 25) | admin| Success
2018-11-06 16:54:07.891| on thread[140447603222272 c13s26]| IP[192.168.0.244:5000]| master| 192.168.0.244| userAdmin| (stmt : 26) | admin| Success
2018-11-06 16:54:22.66| on thread[140447603222272 c20s27]| IP[192.168.0.244:5000]| master| 192.168.0.244| ben| (stmt : 27) | admin| Success
2018-11-06 16:54:27.849| on thread[140447603222272 c20s28]| IP[192.168.0.216:5000]| master_tati| 192.168.0.244| userAdmin| (stmt : 28) | admin| Success
2018-11-06 16:54:36.533| on thread[140447603222272 c22s29]| IP[192.168.0.244:5000]| master| 192.168.0.244| userAdmin| (stmt : 29) | admin| Success
我想为每个用户计算他得到了多少行,例如我想为用户'userAdmin'获取这个字典 -> dict = {'userAdmin : 16} 因为有 16 行带有'userAdmin'
我已经实现了以下代码:
def parse_log_file(log_file):
print(len(""))
my_path = os.path.abspath(os.path.dirname(__file__))
path = os.path.join(my_path, log_file)
with open(path, 'r') as f:
lines = f.readlines()[1:]
map = {}
for line in lines:
elements = line.strip().lstrip().split('|')
if elements[8].lstrip() == 'Success':
map[elements[5].lstrip()] = 1
if map[elements[5].lstrip()] is not None:
map[elements[5].lstrip()] += 1
# map[elements[5]] = elements[8]
for k, v in map.items():
print(k, ':', v)
但这是我得到的错误:
omer : 2
userAdmin: 2
Gilc : 2
Guy : 2
ben : 2
我希望 userAdmin 是 16 而不是 2
【问题讨论】:
标签: python dictionary tuples