pop索引超出了python的范围?

时间:2013-08-05 14:55:48

标签: python

我正在尝试浏览网址列表并截取屏幕截图。下面是代码片段。

 def onLoadFinished(result):
    #fo.write( column1[feed])#, column2[feed], urls[feed])
   global feed
   print urls

   if not result:
        print "Request failed"
    #print urls[feed]
    fo.write(str(column1[feed])+','+str(column2[feed])+','+str(urls)+','+'414'+','+'image not created\n')
    feed = feed + 1
        sys.exit(1)
        save_page(webpage, outputs.pop(0))   # pop output name from list and save
   if urls:
        url = urls.pop(0)   # pop next url to fetch from list
        webpage.mainFrame().load(QUrl(url))
    #print urls[feed]
    fo.write(str(column1[feed])+','+str(column2[feed])+','+str(urls)+','+'200'+','+'image created\n')
    feed = feed + 1
   else:
        app.quit()  # exit after last url

webpage.connect(webpage, SIGNAL("loadFinished(bool)"), onLoadFinished)
webpage.mainFrame().load(QUrl(urls.pop(0)))
#fo.close()
sys.exit(app.exec_())

现在在webpage.mainFrame()。load(QUrl(urls.pop(0)))中,我希望它继续弹出下一个url,但是一旦它进入onloadfinished方法,它就会给我第二个url第一次,然后列表变为空,我得到错误pop索引outngenge。

网址列表是[1.2] ..它首先给我2,第二次超出范围。任何想法如何从1开始按顺序获得它?

1 个答案:

答案 0 :(得分:1)

onLoadFinished也会从urls弹出,所以如果首先运行,当您进入webpage.mainFrame()来自urls的{​​{1}}来电时,1 }已经弹出,第二次没有任何东西可以弹出。