getfirst and re
Victor Subervi
victorsubervi at gmail.com
Fri Jan 8 15:01:55 EST 2010
On Fri, Jan 8, 2010 at 3:37 PM, MRAB <python at mrabarnett.plus.com> wrote:
> Victor Subervi wrote:
>
>> On Fri, Jan 8, 2010 at 3:09 PM, Victor Subervi <victorsubervi at gmail.com<mailto:
>> victorsubervi at gmail.com>> wrote:
>>
>>
>>
>> On Fri, Jan 8, 2010 at 2:52 PM, Jean-Michel Pichavant
>> <jeanmichel at sequans.com <mailto:jeanmichel at sequans.com>> wrote:
>>
>> Victor Subervi wrote:
>>
>> On Fri, Jan 8, 2010 at 1:26 PM, Steve Holden
>> <steve at holdenweb.com <mailto:steve at holdenweb.com>
>> <mailto:steve at holdenweb.com <mailto:steve at 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
>>
>> Which is what Recipe 81547 actually says!
>
>
> 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 ;)
>>
>> If that works then so should this:
>
> params = dict(fieldStorage.iteritems())
Yeah. Thanks!
beno
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20100108/4cdb2f5e/attachment-0001.html>
More information about the Python-list
mailing list