Apabila bekerja dengan projek Python, anda mungkin menghadapi masalah di mana modul dalam projek anda mempunyai nama yang sama seperti modul perpustakaan standard. Ini boleh membawa kepada konflik import dan ralat masa jalan. Artikel ini akan menyediakan penyelesaian terperinci kepada masalah ini, menerangkan cara mengawal gelagat import Python tanpa perlu menamakan semula modul.
Memahami Mekanisme Import
Secara lalai, Python mencari modul dalam susunan berikut:
Menyelesaikan Konflik Modul
Untuk mengelakkan konflik import, anda boleh menggunakan ciri absolute_import yang diperkenalkan dalam Python 2.5. Ciri ini memaksa Python untuk sentiasa mencari modul dalam perpustakaan standard terlebih dahulu, tanpa mengira kewujudan modul dengan nama yang sama dalam direktori semasa.
Untuk mendayakan absolute_import, tambahkan baris berikut pada bahagian atas modul yang perlu mengimport modul perpustakaan standard:
from __future__ import absolute_import
Setelah absolute_import didayakan, Python akan mengimport modul perpustakaan standard walaupun terdapat modul dengan nama yang sama dalam folder projek.
Contoh:
Andaikan anda mempunyai modul bernama kalendar dalam folder projek anda. Untuk mengimport kelas Kalendar perpustakaan standard, walaupun dengan modul kalendar tempatan, gunakan kod berikut:
from __future__ import absolute_import import calendar
Python 3.x Behavior
Dalam Python 3. x, tingkah laku absolute_import ialah lalai. Ini bermakna walaupun tanpa mengimport absolute_import secara eksplisit, Python akan mengutamakan import daripada perpustakaan standard berbanding modul tempatan.
Atas ialah kandungan terperinci Cara Menyelesaikan Konflik Nama Modul dalam Python: Panduan Komprehensif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!