Python3、模块'itertools'没有属性'ifilter'

Python 3, module 'itertools' has no attribute 'ifilter'

我是 Python 的新人,正在尝试将旧的 python 文件构建到 Python 中 3. 我遇到了几个构建错误,我已解决。但在这一点上,我遇到了以上错误。我不知道如何解决这个问题。代码部分如下所示。

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

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)