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