[Tutor] returning the entire line when regex matches

Alan Gauld alan.gauld at btinternet.com
Mon May 4 19:45:17 CEST 2009


"Nick Burgess" <burgess.nick at gmail.com> wrote 
> for line in log:
>    if not re.search(r'notneeded.com|notneeded1.com',line):
>        outFile.write(line)
>
> I tried the in method but it missed any other strings I put in, like
> the pipe has no effect.  More complex strings will likely be needed so
> perhaps re might be better..?

Yes, in only works for simple strings. If you need combinations 
then the regex is better

> I have been playing with os.walk but im not sure if it is the best way.

It is almost certainly the best way.

> I guess merging all of the files into one big one before the parse
> would work but I would need help with that too.

You shouldn't need to do that. Your function can take a file and process 
it so just use os.walk to feed it files one by one as you find them

If the file names vary you might find glob.glob useful too.

I show examples of using os,.walk and glob in the OS topic 
in my tutorial. Look under the heading 'Manipulating Files'

HTH,

-- 
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/



More information about the Tutor mailing list