On Fri, Jan 8, 2010 at 3:09 PM, Victor Subervi <victorsube...@gmail.com>wrote:
> > > On Fri, Jan 8, 2010 at 2:52 PM, Jean-Michel Pichavant < > jeanmic...@sequans.com> wrote: > >> Victor Subervi wrote: >> >> On Fri, Jan 8, 2010 at 1:26 PM, Steve Holden <st...@holdenweb.com<mailto: >>> st...@holdenweb.com>> wrote: >>> >>> MRAB wrote: >>> > Victor Subervi wrote: >>> > [snip] >>> >> >>> >> Code snippet: >>> >> >>> >> def cgiFieldStorageToDict(fieldStorage): >>> ^^^^^^^^^^^^ >>> Further hint ... >>> >>> >> params = {} >>> >> for key in fieldStorage.keys(): >>> >> params[key] = cgi.FieldStorage[key].value >>> > ^^^^^^^^^^^^^^^^^^^^^ >>> > This is your problem. >>> >>> >>> The problem is that I don't understand this code that I exactly copied >>> from a Web page tutorial. Can you folks point me to tutorials where I can >>> learn to comprehend this code? Specifically, the line in question. How is it >>> that one can code "params[key]" (what does that mean?) and the other side, >>> what does that mean >>> >> I think you are gathering more fans Victor :) >> >> http://docs.python.org/tutorial/datastructures.html#dictionaries >> > > This still isn't telling me what I need to know. Perhaps I'm missing the > point, as in the recent case with putting the "print cookie" statement in > the header. I am assuming (translation: making an a$$ out of you and me) > that "params[key] automatically assigns the fieldStorage key to the newly > created params key in the dict of the same, and assigning the value from the > cgi.FieldStorage of that key to the params value. Is that correct? > TIA, > beno > I may have answered my own question. I have this: def cgiFieldStorageToDict(fieldStorage): params = {} for key in fieldStorage.keys(): params[key] = fieldStorage[key].value return params dict = cgiFieldStorageToDict(cgi.FieldStorage()) print dict which gave me this: {'store': 'products', 'cat': 'prodCat1'} which looks about right. I would have written the code like this: keys = [] values = [] for key, value in fieldStorage.iteritems(): keys.append(key) values.append(value) params = dict(zip(keys, values)) which obviously isn't as elegant. But that's what I knew. Learned another trick, I guess ;) Thanks all. beno
-- http://mail.python.org/mailman/listinfo/python-list