I'm fairly new with python and am trying to build a fairly simple
search script. Ultimately, I'm wanting to search a directory of files
for multiple user inputted keywords. I've already written a script
that can search for a single string through multiple files, now I just
need to adapt it to multiple strings.
One more item: if your files are large, it may be more efficient
to scan through them incrementally rather than reading the whole
file into memory, assuming your patterns aren't multi-line (and
by your escaping example, I suspect they're just single-words):
items = set(['a', 'b', 'c'])
for fname in ['file1.txt', 'file2.txt']:
still_to_find = items.copy()
for line in file(fname):
found = set()
for item in still_to_find:
if item in line:
found.add(item)
still_to_find.difference_update(found)
if not still_to_find: break
if still_to_find:
print "%s: Nope" % fname
else:
print "%s: Yep" % fname
just one more way to do it :)
-tkc
--
http://mail.python.org/mailman/listinfo/python-list