## 11.1.4 Functions

These are useful if you want more control, or if you want to employ some of the algorithms implemented in this module in other circumstances.

`parse` (fp)
  Parse a query in the environment or from a file (default `sys.stdin`).

`parse_qs` (qs)
  Parse a query string given as a string argument (data of type application/x-www-form-urlencoded).

`parse_multipart` (fp, pdict)
  Parse input of type multipart/form-data (for file uploads). Arguments are fp for the input file and pdict for the dictionary containing other parameters of `content-type` header

  Returns a dictionary just like `parse_qs()` keys are the field names, each value is a list of values for that field. This is easy to use but not much good if you are expecting megabytes to be uploaded -- in that case, use the `FieldStorage` class instead which is much more flexible. Note that `content-type` is the raw, unparsed contents of the `content-type` header.

  Note that this does not parse nested multipart parts -- use `FieldStorage` for that.

`parse_header` (string)
  Parse a header like `content-type` into a main content-type and a dictionary of parameters.

`test` ()
  Robust test CGI script, usable as main program. Writes minimal HTTP headers and formats all information provided to the script in HTML form.

`print_environ` ()
  Format the shell environment in HTML.

`print_form` (form)
  Format a form in HTML.

`print_directory` ()
  Format the current directory in HTML.

`print_environ_usage` ()
  Print a list of useful (used by CGI) environment variables in HTML.

`escape` (s[, quote])
  Convert the characters "`&`", "`<`" and "`>`" in string s to HTML-safe sequences. Use this if you need to display text that might contain such characters in HTML. If the optional flag quote is true, the double quote character ("`"`") is also translated; this helps for inclusion in an HTML attribute value, e.g. in `<A HREF="...">`.