En Wed, 24 Dec 2008 16:20:17 -0200, Brad Causey <bcau...@zerodayconsulting.com> escribió:

I am trying to do some basic log parsing, and well, I am absolutely floored at this seemingly simple problem. I am by no means a novice in python, but yet this is really stumping me. I have extracted the pertinent code snippets and modified them to function as a standalone script. Basically I am reading
a log file ( in this case, testlog.log) for entries and comparing them to
entries in a safe list (in this case, safelist.lst). I have spent numerous hours doing this several ways and this is the most simple way I can come up
with:

I'd say the "\n" at the end of each line is the culprit.

safelist = safelistfh.readlines()

safelist = [line.strip() for line in safelistfh]

(or just strip('\n') if spaces are important); same for the other list.

def safecheck(line):
    for entry in safelist:
        print 'I am searching for\n'
        print entry
        print '\n'
        print 'to exist in\n'
        print line

repr() is your friend when debugging these things: print repr(entry) etc.

        comp = line.find(entry)
        if comp <> -1:
            out = 'Failed'
        else:
            out = 'Passed'

I'd use:
  if entry in line: ...

Are you sure you're interested in the LAST comparison result ONLY?

--
Gabriel Genellina

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to