簡體   English   中英

為什么在我上課時我的for循環終止?

[英]Why does my for-loop terminate when I call my class?

程序每次通過此循環第三次運行時終止:

for component_ID in self.component_IDs:
    print component_ID
    fundamentals(component_ID)

這是我的fundamentals課:

class fundamentals(download):

    def __init__(self, ID):
        self.browser = spynner.Browser()
        self.url = self.getURL(ID)
        self.browser.load(self.url)
        html = self.browser.html
        print "1"
        soup = BeautifulSoup(html)
        print "2"
        self.count = self.get_count(soup)
        self.currency = self.get_currency(soup)
        self.fundamentals = self.get_fundamentals_pages(soup)
        self.write_fundamentals_to_db(id, self.currency, self.count, 
                                      self.fundamentals)

第三次執行湯= Beautiful(Soup)時,程序總是停止。 這不取決於提供哪個component_ID

component_ID的長度為30,當我從索引2開始循環時,它也會運行兩次,並在第三次運行時停止。

這種奇怪的行為是如何發生的,下次如何預防?

更多信息:
另外,在第三次打印1后,程序只是終止而沒有錯誤消息。 我不確定現在該怎么辦。

當我僅實現.close() ,但如上所述調用該循環時,它在循環一次后便停止了。 當我將實例保存在屬性self.component_ID ,循環將在循環兩次后中斷。

編輯:通過關閉spynner.browser並更改循環的工作方式,解決了該問題的先前版本。 我建立一個列表並將實例附加到列表上,而不只是調用該類。

關閉spynner.browser並更改循環的工作方式。 建立一個列表並將實例附加到該列表上,而不只是調用該類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM