我有一个解析的日志像这样的行的列表:干净的方法来从一个列表元素得到一个价值
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