我試圖解析某些事件的日誌文件。由於日誌文件可能很安靜,因此有必要過濾掉我們需要的應用程序不感興趣的行。 這個想法是,我用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的答案,那沒有意義(我有點誤解了這個問題)。 –