it-swarm.asia

Gagal mengimpor itertools dengan Python 3.5.2

Saya baru mengenal Python. Saya mencoba mengimpor izip_longest dari itertools. Tapi saya tidak dapat menemukan impor "itertools" di preferensi dalam interpreter Python. Saya menggunakan Python 3.5.2. Ini memberi saya kesalahan di bawah ini-

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

Tolong beri tahu saya apa tindakan yang benar. Saya telah mencoba Python 2.7 juga dan berakhir dengan masalah yang sama. Apakah saya perlu menggunakan versi Python yang lebih rendah.

9
Joyita Das

izip_longest adalah berganti nama menjadi ke Zip_longest dalam Python 3 (perhatikan, tidak ada i pada awalnya), impor itu sebagai gantinya:

from itertools import Zip_longest

dan gunakan nama itu dalam kode Anda.

Jika Anda perlu menulis kode yang berfungsi baik pada Python 2 dan 3, tangkap ImportError untuk mencoba nama lainnya, lalu ganti nama:

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

Salah satu cara sederhana mengimpor fitur apa pun adalah dengan mengimpor objek (mis: impor itertools seperti itu) kecuali Anda ingin menyembunyikan fitur lainnya. Karena fitur dalam modul tidak berubah menurut versi python, Cara mudah untuk memeriksa apakah fitur hadir dalam modul sudah lewat dir () fungsi. impor itertools sebagaimana dir (itu) Ini akan mencantumkan semua fitur di dalamnya

0
DILEEP_B