title: Fastest Text search method in a large text file
body: <p>I am doing a text search in a rather big txt file (100k lines, 7mo)
  Text is not that big but I need a lot of searches.
  I want to look for a target string and return the line where it appears.
  My text file is formatted so that the target can only appear in one line.</p>
  
  <p>What is the most efficient way? I do a lot of searches so I want to improve speed.
  Here is mycode right now:</p>
  
  <pre><code>def lookup_line(target):
      #returns line of the target, or None if doesnt exist
      line=None
      dir=os.path.dirname(__file__)
      path=dir+'/file.txt'
      file=open(path,'r')
      while line==None:
          l=file.readline()
          l=unicode(l,'utf-8')
          if target in l:
              break
          if l=='': break #happens at end of file, then stop loop
      line=l
      if line=='':line=None #end of file, nothing has been found
      file.close()
      return line
  </code></pre>
  
  <p>I use this python code for a google Appengine app.</p>
  
  <p>Thanks!</p>