首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python处置log文件

2012-08-15 
python处理log文件log文件大约是这样的格式[16:01:14]: Begin[16:01:14]: 100[16:01:14]:

python处理log文件
log文件大约是这样的格式
[16:01:14]: =======Begin=========
[16:01:14]: 100
[16:01:14]: 110
[16:01:14]: 200
[16:01:14]: 210
[16:01:14]: 300
此处省略n行
[16:01:14]: =======End=========
[16:01:14]: =======Begin=========
[16:01:14]: 100
[16:01:14]: 110
[16:01:14]: 200
[16:01:14]: 210
[16:01:14]: 300
此处省略n行
[16:01:14]: =======End=========
[16:01:14]: =======Begin=========
..........



目的要把比如代号10 后面的数据加入一个list
  代号20 后面的数据加入一个list

求一个缩小版的程序或者思路 思路最好写下用的大概方法


[解决办法]

Python code
#!/usr/bin/env pythontext = '''[16:01:14]: =======Begin=========[16:01:14]: 10 0[16:01:14]: 11 0[16:01:14]: 20 0[16:01:14]: 21 0[16:01:14]: 30 0[16:01:14]: =======End=========[16:01:14]: =======Begin=========[16:01:14]: 10 0[16:01:14]: 11 0[16:01:14]: 20 0[16:01:14]: 21 0[16:01:14]: 30 0[16:01:14]: =======End=========[16:01:14]: =======Begin========='''import redata = text.split('\n')result = {}for line in data:    rs = re.search('^\[\d+:\d+:\d+\]: (\d+) (\d+)', line)    if rs:        k, v = rs.group(1), rs.group(2)        if k in result:            result[k].append(v)        else:            result[k] = [v]for k in sorted(result):    print k, ' => ', result[k] 

热点排行