[Newbie Q on String & List Manipulation]
wes weston
wweston at att.net
Thu Apr 15 10:44:36 EDT 2004
Matthew wrote:
> Hello All,
>
> today is the first day i try to programming in Python,
> my assignment is, write a silly script that probably
> will run a few times a day to check if the Gmail services
> is ready or not. ;)
>
> however, i encountered some problem when playing with the
> list and string.
>
> i'm using Python 2.2.2 on Redhat. if i write something like:
>
> a = "one"
> b = "two"
> a += b
> print a
>
> i will get:
>
> onetwo
>
> ok, seems quite ok, however, not sure why it doesn't work on
> my silly Gmail script (pls refer to my script belows):
>
> for item in thecookies:
> mycookies += item
>
> print mycookies
>
> i have exactly 4 items in the "thecookies" list, however, when
> printing out "mycookies", it just show the last item (in fact,
> seems the 4 items have been overlapped each others).
>
> could somebody pls kindly take a look at my silly script and
> gimme some advise?
>
> thanks very much in advance! :)
>
> ---
> matthew
>
>
>
>
> import re
> import string
> import sys
> import urllib
>
> user = "da at email.address"
> pswd = "dapassword"
>
> schm = "https://"
> host = "www.google.com"
> path = "/accounts/ServiceLoginBoxAuth"
> qstr = {"service" : "mail", \
> "continue" : "http://gmail.google.com/", \
> "Email" : user, \
> "Passwd" : pswd}
>
> qstr = urllib.urlencode(qstr)
>
> url = schm + host + path + "?" + qstr
>
> conn = urllib.urlopen(url)
>
> headers = conn.info().headers
> response = conn.read()
>
> thecookies = []
>
> #
> # extract all the Set-Cookie from the HTTP response header and put it in thecookies
> #
>
> for header in headers:
> matches = re.compile("^Set-Cookie: (.*)$").search(header)
> if matches:
> thecookies.append(matches.group(1))
>
> #
> # make sure we've grep the SID or die
> #
>
> foundsessionid = 0
>
> for item in thecookies:
> if re.compile("^SID").search(item):
> foundsessionid = 1
> break
>
> if not foundsessionid:
> print "> Failded to retrieve the \"SID\" cookie"
> sys.exit()
>
> #
> # grep the GV cookie from the HTTP response or die
> #
>
> matches = re.compile("^\s*var cookieVal= \"(.*)\";.*", re.M).search(response)
>
> if matches:
> thecookies.append("GV=" + matches.group(1))
> else:
> print "> Failed to retrieve the \"GV\" cookie"
> sys.exit()
>
> print thecookies
>
> mycookies = ""
>
> for item in thecookies:
> mycookies += item
>
> print mycookies
>
> #
> # still got many things to do right here...
> #
>
> sys.exit()
>>> sum=""
>>> list=["a","b","c","d"]
>>> for x in list:
... sum+=x
...
>>> sum
'abcd'
More information about the Python-list
mailing list