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

Reply via email to