Failing to import itertools in Python 3.5.2

微笑、不失礼 提交于 2019-12-18 15:08:09

问题


I am new to Python. I am trying to import izip_longest from itertools. But I am not able to find the import "itertools" in the preferences in Python interpreter. I am using Python 3.5.2. It gives me the below error-

from itertools import izip_longest
ImportError: cannot import name 'izip_longest'

Please let me know what is the right course of action. I have tried Python 2.7 too and ended up with same problem. Do I need to use lower version Python.


回答1:


izip_longest was renamed to zip_longest in Python 3 (note, no i at the start), import that instead:

from itertools import zip_longest

and use that name in your code.

If you need to write code that works both on Python 2 and 3, catch the ImportError to try the other name, then rename:

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



回答2:


One of the simple way of importing any feature is through object importing(ex: import itertools as it) unless you want to hide other features. Since features in modules does change according to python version, Easy way to check whether the feature is present in module is through dir() function. import itertools as it dir(it) It'll list all the features in it



来源:https://stackoverflow.com/questions/38634810/failing-to-import-itertools-in-python-3-5-2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!