Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mengimport Semua Modul Python dengan Cekap dari Direktori?

Bagaimanakah Saya Boleh Mengimport Semua Modul Python dengan Cekap dari Direktori?

DDD
Lepaskan: 2024-11-28 05:54:14
asal
351 orang telah melayarinya

How Can I Efficiently Import All Python Modules from a Directory?

Memuatkan Modul daripada Direktori

Apabila berurusan dengan struktur direktori yang mengandungi berbilang fail modul Python, anda mungkin perlu mengimport kesemuanya menjadi satu skrip. Mengimport setiap modul secara individu boleh menjadi membosankan, terutamanya jika terdapat banyak modul dalam direktori.

Salah satu cara untuk menangani isu ini ialah dengan menukar direktori kepada pakej Python. Walau bagaimanapun, hanya menambah fail __init__.py dan menggunakan daripada Foo import * mungkin tidak menghasilkan hasil yang diingini. Untuk mengatasi halangan ini, pendekatan alternatif ialah menyenaraikan semua fail modul Python dalam direktori semasa dan menyimpan namanya dalam pembolehubah __all__ dalam fail __init__.py.

Berikut ialah kod yang melaksanakan pendekatan ini:

from os.path import dirname, basename, isfile, join
import glob

# List all Python module files in the current directory
modules = glob.glob(join(dirname(__file__), "*.py"))

# Create a list of module names without the ".py" extension
__all__ = [basename(f)[:-3] for f in modules if isfile(f) and not f.endswith('__init__.py')]
Salin selepas log masuk

Coretan ini mula-mula menyenaraikan semua fail modul Python dalam direktori semasa menggunakan glob.glob(join(dirname(__file__), "*.py")). Kemudian, ia menapis sebarang fail bukan modul atau fail __init__.py. Akhir sekali, ia mengekstrak nama modul dengan mengalih keluar sambungan ".py" daripada setiap nama fail. Nama modul ini disimpan dalam pembolehubah __all__ dalam fail __init__.py.

Dengan melaksanakan pendekatan ini, anda boleh memuatkan semua modul dalam folder ke dalam satu skrip dengan berkesan. Ia menyediakan cara mudah untuk mengurus berbilang modul dan membolehkan pengimportan mudah menggunakan sintaks * import Foo.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengimport Semua Modul Python dengan Cekap dari Direktori?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan