code: def strings(filename, minimum=4):
      '''
      A strings generator, similar to the Unix strings utility.
  
      @filename - The file to search for strings in.
      @minimum  - The minimum string length to search for.
  
      Yeilds printable ASCII strings from filename.
      '''
      result = ""
  
      with BlockFile(filename) as f:
          while True:
              (data, dlen) = f.read_block()
              if dlen < 1:
                  break
  
              for c in data:
                  if c in string.printable:
                      result += c
                      continue
                  elif len(result) >= minimum:
                      yield result
                      result = ""
                  else:
                      result = "f strings(filename, minimum=4):
      '''
      A strings generator, similar to the Unix strings utility.
  
      @filename - The file to search for strings in.
      @minimum  - The minimum string length to search for.
  
      Yeilds printable ASCII strings from filename.
      '''
      result = ""
  
      with BlockFile(filename) as f:
          while True:
              (data, dlen) = f.read_block()
              if dlen < 1:
                  break
  
              for c in data:
                  if c in string.printable:
                      result += c
                      continue
                  elif len(result) >= minimum:
                      yield result
                      result = ""
                  else:
                      result = ""
docs: A strings generator, similar to the Unix strings utility.
  
      @filename - The file to search for strings in.
      @minimum  - The minimum string length to search for.
  
      Yeilds printable ASCII strings from filename.