The cgi Module
The cgi module provides a number of support functions and classes for CGI scripts. Among other things, it can parse CGI form data.
Example 7-40 shows a simple CGI script that returns a list of a files in a given directory (relative to the root directory specified in the script).
Example 7-40. Using the cgi Module
File: cgi-example-1.py import cgi import os, urllib ROOT = "samples" # header print "text/html" print query = os.environ.get("QUERY_STRING") if not query: query = "." script = os.environ.get("SCRIPT_NAME", "") if not script: script = "cgi-example-1.py" print "
" print "" print "file listing" print "" print "
" print "
" try: files = os.listdir(os.path.join(ROOT, query)) except os.error: files = [] for file in files: link = cgi.escape(file) if os.path.isdir(os.path.join(ROOT, query, file)): href = script + "?" + os.path.join(query, file) print "
<a href="%s">%s</a>" % (href, cgi.escape(link)) else: print "
%s" % link print "" print "" text/html
file listing
sample.gif
sample.gz
sample.netrc ...
sample.txt
sample.xml
sample~
<a href="cgi-example-1.py?web">web</a>