我正在尝试使用python逐行搜索日志文件。
我想捕获包含两个字符串的行"apple" and "banana"
有些行只包含"apple"
,同样有些行只包含"banana"
。如何检查行是否同时包含两个字符串,然后进入下一个条件
我现在是这样做的,但它还不起作用
APPLE = "APPLE"
FAILURE_MSGS {
APPLE: "apple"
}
for line in out.splitlines():
if FAILURE_MSGS[APPLE] and "banana" in line:
<do something special with this line>
需要注意的是,"apple"
是从其他人的预期失败消息列表中预定义的,我也希望找到"banana"
,但我不想把它添加到失败消息目录中
最终发生的是,每一行都有“苹果”或“香蕉”,而不仅仅是找到了两者。不知道为什么
正确的代码是:
代码的作用:
所以你会得到所有行有“香蕉”而不管“苹果”
你需要改变你的状况。现在,你正在测试“苹果”是否正确,以及“香蕉”是否符合要求。您将得到包含“banana”的所有行
如果更改为:
然后您应该得到预期的行为(只处理同时包含“apple”和“banana”的行)
相关问题 更多 >
编程相关推荐