我是Python新手。我想从itertools导入izip_longest。但我无法在Python解释器的首选项中找到导入“itertools”。我使用的是Python 3.5.2。它给了我以下错误 -
from itertools import izip_longest
ImportError: cannot import name 'izip_longest'
请让我知道什么是正确的行动方案。我也尝试过Python 2.7并且遇到了同样的问题。我是否需要使用较低版本的Python。
答案 0 :(得分:32)
izip_longest
重命名到zip_longest
(注意,开头没有i
),而是导入它:
from itertools import zip_longest
并在您的代码中使用该名称。
如果您需要编写适用于Python 2和3的代码,请抓住ImportError
尝试其他名称,然后重命名:
try:
# Python 3
from itertools import zip_longest
except ImportError:
# Python 2
from itertools import izip_longest as zip_longest
# use the name zip_longest
答案 1 :(得分:0)
导入任何功能的一种简单方法是通过对象导入(例如:以它的方式导入itertools ),除非您想隐藏其他功能。由于模块中的功能确实会根据python版本进行更改,因此通过 dir()函数检查模块中是否存在该功能的简便方法。 导入itertools 目录 它将列出其中的所有功能