help me~!!!'tuple' object has no attribute 'compile'
John Machin
sjmachin at lexicon.net
Wed Nov 12 05:35:05 EST 2008
On Nov 12, 9:07 pm, ylj... at gmail.com wrote:
> my code
> -------------------------------------------------------------------------------------------
> # -*- coding: utf8 -*-
> #!/usr/bin/python
>
> import urllib
> import urllib2
> import re
> import MySQLdb
>
> conn=MySQLdb.connect
> (host="localhost",user="root",passwd="ylj",db="net", charset="utf8")
> cur = conn.cursor()
> sql='select
> net_site.downline_re,net_site.down_re,net_cha.id,net_cha.urlid,net_cha.source_url
> from net_site,net_cha where net_site.id=net_cha.urlid'
> cur.execute(sql)
> re=cur.fetchall()
You have bound the name "re" to the tuple returned by cur.fetchall()
This overrides the binding to the re module.
Use "result" or some other meaningful name instead.
> if len(re)!=0:
> for i in re:
> down_re="%s"%(i[1])
> source_url="%s"%(i[4])
> data= urllib2.urlopen(source_url).read()
> res=re.compile(down, re_DOTALL).findall(data)
So re is a tuple, not the re module ... splat!
And another problem: down is not defined; do you mean down_re?
> print str
Here are your next two problems:
(1) str is not defined
(2) str is a type; use some other meaningful name for whatever it is
that you are trying to print
HTH,
John
More information about the Python-list
mailing list