用ipython将日志转化为字典的形式
2014-08-07 15:52
169 查看
安装ipython在这里我们就不说了,现在简单的分享一下如用正则将日志转换成字典
先在ipython里导入正则模块
import re
例如:有这样一条日志
a = 'Jul 28 03:10:18 localhost abrt detected unhandled Python exception in 1check_log.py'
设定一个正则匹配规则
re_log = re.compile(r'(?P<logtime>\w+ \d+ [\d:]+) (?P<hostname>\w+ \w+) (?P<program>\w+) (?P<msg>.*)')
?P< > : < > 里面要添加的名字
\w+ : 是匹配所以字母
\d+ : 是匹配所有的数字
[\d:]+ : 是多次匹配所有的数字加“ :”
logmatch=re_log.match(a)
match:是代表对比
a: 代表字符串,
logmatch: 代表的对象
这个公式的意思是 re_log 匹配要和字符窜 a 进行匹配
logmatch.groupdict()
这个意思是说 以字典的形式打印出来
结果如下:
{'hostname': 'localhost abrt',
'logtime': 'Jul 28 03:10:18',
'msg': 'unhandled Python exception in 1check_log.py',
'program': 'detected'}
如果我们改为使用 findall()函数函数时
re_log.findall(a)
那么就没有前面的key的值 是一个列表(里面有一个元组,并且这个元组有4 组字符串),而不是一个字典;
结果如下:
[('Jul 28 03:10:18',
'localhost abrt',
'detected',
'unhandled Python exception in 1check_log.py')]
先在ipython里导入正则模块
import re
例如:有这样一条日志
a = 'Jul 28 03:10:18 localhost abrt detected unhandled Python exception in 1check_log.py'
设定一个正则匹配规则
re_log = re.compile(r'(?P<logtime>\w+ \d+ [\d:]+) (?P<hostname>\w+ \w+) (?P<program>\w+) (?P<msg>.*)')
?P< > : < > 里面要添加的名字
\w+ : 是匹配所以字母
\d+ : 是匹配所有的数字
[\d:]+ : 是多次匹配所有的数字加“ :”
logmatch=re_log.match(a)
match:是代表对比
a: 代表字符串,
logmatch: 代表的对象
这个公式的意思是 re_log 匹配要和字符窜 a 进行匹配
logmatch.groupdict()
这个意思是说 以字典的形式打印出来
结果如下:
{'hostname': 'localhost abrt',
'logtime': 'Jul 28 03:10:18',
'msg': 'unhandled Python exception in 1check_log.py',
'program': 'detected'}
如果我们改为使用 findall()函数函数时
re_log.findall(a)
那么就没有前面的key的值 是一个列表(里面有一个元组,并且这个元组有4 组字符串),而不是一个字典;
结果如下:
[('Jul 28 03:10:18',
'localhost abrt',
'detected',
'unhandled Python exception in 1check_log.py')]
相关文章推荐
- scrapy 把cookie并转化为字典的形式
- iOS 获取对象的全部属性、把model的所有属性和对应的值转化为字典
- JSON串(字典、数组)转化为字符串
- JSON 字典转化 OC的字典转化成OC格式的字符串
- 将数字转化成拥有X小数位的形式
- Python处理json字符串转化为字典
- Android开发学习笔记之通过API接口将LaTex数学函数表达式转化为图片形式
- iOS对象(字典或数组)转化为JSon…
- sql中压缩日志文件和ntextl转化为varchar的处理(downmoon)
- 运用pandas将字典的列表转化为独立的数据列
- json解析转化成数组,字典等类型,nsstring 转换
- 学习日志---python(列表解析、生成器、字典和集合)
- Android将日志信息自动发送到指定的邮箱中 邮件的内容以附件形式发送
- python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
- 行政区划代码转为字典形式
- Json字符串与字典对象的相互转化
- iOS对象(字典或数组)转化为JSon字符串
- 如何将操做日志中的字符串类型的时间转化成logstash中的@timestamp
- JObject——转化为字典IDictionary<string, object>
- Python Sqlite3以字典形式返回查询结果的实现方法