2015-11-15 43 views
5

我是Python新手,試圖將一箇舊的python文件構建到Python 3中。我得到了一些我解決的構建錯誤。但在這一點上,我越來越錯誤。我不知道如何解決這個問題。代碼部分如下所示。Python 3,模塊'itertools'沒有屬性'ifilter'

return itertools.ifilter(lambda i: i.state == "IS", self.storage) 

回答

9

itertools.ifilter()在Python 3移除,因爲內置filter() function提供相同的功能了。

如果你需要編寫代碼,可以在這兩個的Python 2和Python 3運行,從future_builtins module使用進口(僅在Python 2,所以使用try...except ImportError:後衛):

try: 
    # Python 2 
    from future_builtins import filter 
except ImportError: 
    # Python 3 
    pass 

return filter(lambda i: i.state == "IS", self.storage) 
相關問題