web-dev-qa-db-fra.com

Échec de l'importation d'itertools dans Python 3.5.2

Je suis nouveau sur Python. J'essaie d'importer izip_longest d'itertools. Mais je ne suis pas en mesure de trouver l'importation "itertools" dans les préférences de l'interpréteur Python. J'utilise Python 3.5.2. Cela me donne l'erreur ci-dessous

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

S'il vous plaît laissez-moi savoir quelle est la bonne ligne de conduite. J'ai aussi essayé Python 2.7 et je me suis retrouvé avec le même problème. Dois-je utiliser la version inférieure de Python?.

9
Joyita Das

izip_longest était renommé en Zip_longest en Python 3 (remarque, pas de i au début), importez-le plutôt

from itertools import Zip_longest

et utilisez ce nom dans votre code.

Si vous avez besoin d'écrire du code qui fonctionne à la fois sur Python 2 et 3, récupérez la ImportError pour essayer l'autre nom, puis renommez:

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
29
Martijn Pieters

L’un des moyens les plus simples d’importer une fonctionnalité consiste à importer un objet (ex: importer itertools comme il) sauf si vous souhaitez masquer d'autres fonctionnalités. Comme les fonctionnalités des modules changent en fonction de la version de Python, il est facile de vérifier si la fonctionnalité est présente dans le module via dir () une fonction. importer itertools comme il dir (it) Il va énumérer toutes les fonctionnalités qu'il contient

0
DILEEP_B