code: def file_chooser(prompt_text = "Enter File: ", default=None, filearg=[], filekwarg={}):
      
      try:
          import readline, rlcomplete
          completer = rlcomplete.PathCompleter()
          readline.set_completer_delims(completer.delims)
          readline.parse_and_bind("tab: complete")
          readline.set_completer(completer.complete)
      except ImportError:
          pass
      while True:
          f = raw_input(prompt_text)
          if f == '': return default
          f = os.path.expanduser(f)
          if len(f) != 0 and f[0] == os.path.sep:
              f = os.path.abspath(f)
          try:
              return open(f, *filearg, **filekwarg)
          except IOError as e:
              stderr.write(ERROR_MESSAGE % ("unable to open %s : %s" % (f, e)))
docs: A simple tool to get a file from the user. Takes keyworded arguemnts
      and passes them to open().
      
      If the user enters nothing the function will return the ``default`` value.
      Otherwise it continues to prompt the user until it get's a decent response.
      
      filekwarg may contain arguements passed on to ``open()``.