我尝试创建此程序,打开.gz文件并查找多个异常。当我刚使用一个例外时,它正在工作。但我现在正试图获得多个例外,但它无法正常工作。
有人可以帮忙吗?
override func draw(_ rect: CGRect) {
if let path = firstCharPath {
path.stroke()
}
if let path = lineUsedRectPath {
path.stroke()
}
if let path = baseLinePath{
path.stroke()
}
}
答案 0 :(得分:0)
我相信此代码符合您的问题陈述。您的代码中的两个主要更改。
将错误消息和关键字放在同一数据结构中一起搜索。
循环数据结构并直接确定是否所有关键字都存在,如果不存储错误消息以供日后显示
请注意:我实际上没有测试此代码,因为我没有样本数据。
<强>代码:强>
import gzip
errors_to_find = (
('task cocaLc Requested reboot',
('REBINFO', 'cocaLc')),
('task tAlrmL1 Keep alive failed',
('dispute', 'peer', 'while', 'priority')),
('task cocaLc ASSERT failed',
('fhAssert', 'REBINFO', 'HARDREBOOT')),
)
found_exc = []
with gzip.open((raw_input("Enter File Name :")), 'r') as f:
for line in f:
for msg, key_words in errors_to_find:
# for each keyword, test if it is in line
if sum([kw in line for kw in key_words]) == len(key_words):
found_exc.append(msg)
for msg in found_exc:
print "Exception Found : %s" % msg