无法在Python 3.5.2中导入itertools

时间:2016-07-28 11:16:53

标签: python python-2.7 pycharm python-3.5 itertools

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

2 个答案:

答案 0 :(得分:32)

在Python 3中

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 目录 它将列出其中的所有功能