我试图解析某些事件的日志文件。由于日志文件可能很安静,因此有必要过滤掉我们需要的应用程序不感兴趣的行。 这个想法是,我用4或5个字符串创建一个我想查找的列表,然后在包含我保留的日志文件的行的其他列表中循环遍历行。检查列表中的元素是否存在于python列表的元素中
日志文件是代理的日志,用于获取请求来自哪里的视图 通过在行中查找“GET /”,并且只存储那些确实存在在里面。
with open('logfile', 'r') as f:
for line in f:
if "GET /" in line:
lines.append(line)
列表,然后“行”需要被降低到包含数字的字符串之一
l1 = ['/Treintickets/aankopen', '/booking/Tickets', '/Acheter/Billets', ...]
我试过列表理解,但没有工作的URL行:
result = [l for l in lines if l1 in l]
有没有办法让这个工作,而不必在'l1'的每个成员循环大列表行?
l1中只有4或5个字符串,没有重叠,基本上它们在不同的语言中都是相同的。将它变成一个集合会有什么改进? – Erwin
如果你使用wim的答案,那没有意义(我有点误解了这个问题)。 –