Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengimport Fail dari Subdirektori dalam Python?

Bagaimana untuk Mengimport Fail dari Subdirektori dalam Python?

Patricia Arquette
Lepaskan: 2024-11-26 17:08:15
asal
484 orang telah melayarinya

How to Import Files from Subdirectories in Python?

Mengimport Fail daripada Subdirektori

Mengimport fail daripada subdirektori boleh menjadi cabaran biasa apabila mengatur kod Python. Seseorang mungkin menghadapi ralat import semasa cuba mengakses fail yang berada dalam subdirektori. Artikel ini menangani isu ini dan menyediakan penyelesaian.

Senario

Pertimbangkan struktur projek di mana fail dipanggil tester.py terletak dalam direktori bernama /project. Dalam direktori /project terdapat subdirektori bernama lib, yang mengandungi fail bernama BoxTime.py. Objektifnya adalah untuk mengimport BoxTime daripada tester.py.

Percubaan Gagal

Percubaan untuk mengimport BoxTime menggunakan kod berikut mengakibatkan ralat:

import lib.BoxTime
Salin selepas log masuk
Salin selepas log masuk

Ini mengembalikan yang berikut traceback:

Traceback (most recent call last):
  File "./tester.py", line 3, in <module>
    import lib.BoxTime
ImportError: No module named lib.BoxTime
Salin selepas log masuk

Penyelesaian

Penyelesaian terletak pada mencipta fail khas bernama __init__.py dalam subdirektori lib. Fail ini penting untuk Python mengenali lib sebagai pakej, membenarkan import fail dari dalam subdirektori. Setelah fail __init__.py tersedia, fail dalam subdirektori lib boleh diimport menggunakan sintaks berikut:

import lib.BoxTime
Salin selepas log masuk
Salin selepas log masuk

Sebagai alternatif, untuk mengelakkan merujuk BoxTime sebagai lib.BoxTime, anda boleh menggunakan sintaks berikut:

import lib.BoxTime as BT
...
BT.bt_function()
Salin selepas log masuk

Dengan mencipta fail __init__.py dalam subdirektori, Python mengenalinya sebagai pakej, memudahkan pengimportan modul daripada subdirektori.

Atas ialah kandungan terperinci Bagaimana untuk Mengimport Fail dari Subdirektori dalam Python?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan