Derek Basch wrote: > print [(key, value) for key, value in form.keys() and form[key].value]
and > bump The tutorial is always willing to make time for you :-) >>> import cgi >>> fs = cgi.FieldStorage(environ=dict(QUERY_STRING="alpha=1&beta=2")) >>> [(key, fs[key].value) for key in fs.keys()] [('alpha', '1'), ('beta', '2')] So you might have come up yourself with the above in the mean time. However, it breaks if there are multiple occurrences of the same key: >>> fs = cgi.FieldStorage(environ=dict(QUERY_STRING="alpha=1&beta=2&alpha=3")) >>> [(key, fs[key].value) for key in fs.keys()] Traceback (most recent call last): File "<stdin>", line 1, in ? AttributeError: 'list' object has no attribute 'value' A quick glance in the source suggests that >>> [(mfs.name, mfs.value) for mfs in fs.list] [('alpha', '1'), ('beta', '2'), ('alpha', '3')] is a bit more robust. But perhaps you can get hold of the original unparsed query string and avoid the detour via FieldStorage altogether? Peter -- http://mail.python.org/mailman/listinfo/python-list