1

我是 python 机械化的新手,如果有人能解释为什么会发生这种情况会很好?

import mechanize
br = mechanize.Browser()
a = br.open('http://www.google.co.in')
links = br.links()
for link in links:
    print link.url

但是,当我再次这样做时,什么都没有打印出来

 for link in links:
    print link.url

有人可以解释一下吗?

4

1 回答 1

5

我最好的猜测是它可能会br.links()返回一个生成器。这意味着它不会返回一个大的可迭代对象,而是动态的,并next在返回序列中的下一个值之前等待调用它,因此除非您自己将变量存储到 alist中,否则它只能使用一次.

于 2012-06-16T05:54:44.953 回答