我有一個解析的日誌像這樣的行的列表:乾淨的方法來從一個列表元素得到一個價值
parsedLog = ['20151005 09:11:14 LOG_ID 00000000', '20151005 09:11:14 LOG_ADDR 0173acc4\n Address of log', '20151005 09:11:14 READ_CONFIG 00000105',
我要尋找從第二個元素中提取值0173acc4
最徹底的方法該列表基於字符串LOG_ADDR
(即密鑰)(原因是日誌不總是一致的)。
我目前使用下面的一個班輪:
filter(lambda line: 'LOG_ADDR' in line, parsedLog)[0].split('\n')[-8:]
你也別後線'如果「LOG_ADDR」分裂:''然後line.index( 'LOG_ADDR')'而不是使用for循環。假設它是一致的 – SirParselot
@SirParselot雅,這是一樣的其他答案。但是我們需要在列表理解中避免更多的分割。 –
啊,當我提到它時沒有起來,但是是的,那正是我的想法。正則表達式是最好的方法 – SirParselot