Python mechanize Browser.links()-奇怪的行为

Python mechanize Browser.links()-奇怪的行为,python,browser,mechanize,Python,Browser,Mechanize,我是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 有人能解释一下

我是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

有人能解释一下吗

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

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

+1用于选择问题中的“再次”;它的措辞有点微妙,OP试图迭代两次。事实上,如果你发现notbag.jpeg的答案很有帮助,那么typelinks会给出@manoj。如果你发现notbag.jpeg的答案很有帮助,你应该。+1用于选择问题中的“再次”;它的措辞有点微妙,OP试图迭代两次。事实上,如果你发现notbag.jpeg的答案有帮助,那么typelinks会给出@manoj。