web-dev-qa-db-ja.com

Python 3.5.2で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を使用する必要がありますか?.

16
Joyita Das

izip_longest名前が変更されましたZip_longest Python 3(注、最初に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
39
Martijn Pieters

機能をインポートする簡単な方法の1つは、オブジェクトのインポート(例: itertoolsをそのままインポート)他の機能を非表示にする場合を除きます。モジュールの機能はpython versionに従って変化するため、機能がモジュールに存在するかどうかを確認する簡単な方法は、 dir() 関数。 itertoolsをdir(it)としてインポートする その中のすべての機能を一覧表示します

0
DILEEP_B