Mengimport modul luaran ialah amalan biasa dalam pembangunan Python. Walau bagaimanapun, apabila modul berada dalam subdirektori, mengimportnya memerlukan pendekatan khusus.
Pernyataan Masalah
Andaikan anda mempunyai fail bernama tester.py yang terletak di / direktori projek. Direktori ini mengandungi subdirektori yang dipanggil lib, yang menempatkan fail bernama BoxTime.py. Matlamat anda adalah untuk mengimport BoxTime ke dalam tester.py.
Percubaan dan Ralat Awal
Anda cuba mengimport BoxTime menggunakan kod berikut:
import lib.BoxTime
Walau bagaimanapun, ini mengakibatkan ImportError, kerana Python tidak dapat mencari modul yang dinamakan lib.BoxTime.
Penyelesaian: Melaksanakan Pakej
Untuk menyelesaikan isu ini, anda perlu menukar direktori lib kepada pakej Python. Ini melibatkan mencipta fail kosong bernama __init__.py di dalam direktori lib.
/project /tester.py /lib/__init__.py /lib/BoxTime.py
Fail __init__.py ini bertindak sebagai pemula pakej, memaklumkan Python bahawa direktori itu ialah pakej yang mengandungi modul Python.
Mengimport Modul dengan Betul
Setelah Fail __init__.py sudah tersedia, anda boleh mengimport BoxTime menggunakan salah satu daripada kaedah berikut:
import lib.BoxTime
atau
import lib.BoxTime as BT BT.bt_function()
Kaedah kedua memperuntukkan BoxTime kepada pembolehubah BT, membenarkan anda untuk mengakses fungsinya menggunakan alias yang lebih pendek.
Atas ialah kandungan terperinci Bagaimana untuk Mengimport Modul dari Subdirektori dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!