Re: Smaple of recursive directory walker

2006-07-30 Thread Traveler
Thank you very much that is what i was looking for.


On 30 Jul 2006 13:18:51 -0700, "Ant" <[EMAIL PROTECTED]> wrote:

>
>Traveler wrote:
>> yes this is great i will work from that but how can i use say a list
>> to pass 10 words?
>>
>> mylist = ['word1','word2','word3','word4']
>...
>> >for root, dirs, files in os.walk('~/mydir'):
>> >for file in [f for f in files if f.endswith(".txt")]:
>> >fh = open(file)
>> >for line in fh:
>> ># Search for words.
>> >fh.close()
>
>The following will allow you to search a line of text for one of a list
>of words.
>
>import re
>
>line = "line of text"
>mylist = ["bogus", "text", "here"]
>
>p = re.compile(r"\b(%s)\b" % '|'.join(mylist))
>m = p.search(line)
>if m: print "Found %s" % m.group(1)
>
>Alternatively, the following will give a list of all words in a string
>that appear in the list:
>
>words_found = [word for word in re.split(r"\W+", line) if word in
>mylist]

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


Re: Smaple of recursive directory walker

2006-07-30 Thread Ant

Traveler wrote:
> yes this is great i will work from that but how can i use say a list
> to pass 10 words?
>
> mylist = ['word1','word2','word3','word4']
...
> >for root, dirs, files in os.walk('~/mydir'):
> >for file in [f for f in files if f.endswith(".txt")]:
> >fh = open(file)
> >for line in fh:
> ># Search for words.
> >fh.close()

The following will allow you to search a line of text for one of a list
of words.

import re

line = "line of text"
mylist = ["bogus", "text", "here"]

p = re.compile(r"\b(%s)\b" % '|'.join(mylist))
m = p.search(line)
if m: print "Found %s" % m.group(1)

Alternatively, the following will give a list of all words in a string
that appear in the list:

words_found = [word for word in re.split(r"\W+", line) if word in
mylist]

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


Re: Smaple of recursive directory walker

2006-07-29 Thread Traveler
yes this is great i will work from that but how can i use say a list
to pass 10 words?

mylist = ['word1','word2','word3','word4']



On 29 Jul 2006 12:01:03 -0700, "Ant" <[EMAIL PROTECTED]> wrote:

>
>> At work I have a directory of about 50 large text files and i need to
>> search thru them for 10 separate words and print how many were found
>> in total.
>>
>> I am new to python so could somebody please show me some sample code
>> that would help me get this done and i will work from that.
>
>Assuming it's primarily the directory walk you need help with,
>something like the following should help:
>
>for root, dirs, files in os.walk('~/mydir'):
>for file in [f for f in files if f.endswith(".txt")]:
>fh = open(file)
>for line in fh:
># Search for words.
>fh.close()

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


Re: Smaple of recursive directory walker

2006-07-29 Thread Ant

> At work I have a directory of about 50 large text files and i need to
> search thru them for 10 separate words and print how many were found
> in total.
>
> I am new to python so could somebody please show me some sample code
> that would help me get this done and i will work from that.

Assuming it's primarily the directory walk you need help with,
something like the following should help:

for root, dirs, files in os.walk('~/mydir'):
for file in [f for f in files if f.endswith(".txt")]:
fh = open(file)
for line in fh:
# Search for words.
fh.close()

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