Python-print第二个参数

Python-print第二个参数,python,Python,我是Python新手,为了从各种网页中查找和打印电子邮件地址,我编写了此测试代码以供练习: def FindEmails(*urls): for i in urls: totalemails = [] req = urllib2.Request(i) aResp = urllib2.urlopen(req) webpage = aResp.read() patt1 = '(\w+[-\w]\w+@\

我是Python新手,为了从各种网页中查找和打印电子邮件地址,我编写了此测试代码以供练习:

def FindEmails(*urls):
    for i in urls:
         totalemails = []
         req = urllib2.Request(i)
         aResp = urllib2.urlopen(req)
         webpage = aResp.read()
         patt1 = '(\w+[-\w]\w+@\w+[.]\w+[.\w+]\w+)'
         patt2 = '(\w+[\w]\w+@\w+[.]\w+)'
         regexlist = [patt1,patt2]
         for regex in regexlist:
             match = re.search(regex,webpage)
             if match:
                 totalemails.append(match.group())
                 break
    #return totalemails
    print "Mails from webpages are: %s  " % totalemails

if __name__== "__main__":
    FindEmails('https://www.urltest1.com', 'https://www.urltest2.com')
当我运行它时,它只打印一个参数。 我的目标是打印从网页获取的电子邮件,并将其存储在列表中,用逗号分隔


提前感谢。

这里的问题是一行:
totalemails=[]
。在这里,您将重新实例化变量
totalemails
,使其具有零个条目。因此,在每次迭代中,它只有一个条目。在最后一次迭代之后,您将只得到列表中的最后一个条目。要获取所有电子邮件的列表,您需要将变量置于
for
循环之外。 例如:


一个细节解决了我的问题!非常感谢r3ign和stackoverflow!!
def FindEmails(*urls):
    totalemails = []
    for i in urls:
         req = urllib2.Request(i)
         ....