我有几个.tgz日志文件,每个文件包含几百到几千行。我还有一个错误字符串列表。我必须读取zip文件中的每个日志文件,并检查该文件中是否存在任何错误字符串。我还需要获取找到错误模式的文件的名称。
Ctrl
哪种方法在Python中最快?
答案 0 :(得分:1)
嵌套循环遍历' .tgz'目录中的文件和每个tarfile中的项目。立即读取整个文件对象的文本。然后检查文本中是否有任何错误模式。
这样的事情:
import glob, tarfile
for fname in glob.iglob('*.tgz'):
with tarfile.open('filename', 'rb') as tar:
for info in iter(tar.next, None):
text = tar.extractfile(info).read()
if any(msg in text for msg in error_list):
print "an error message was found in: ", info.name