Tôi có một cấu trúc thư mục như sau:Làm cách nào để nhập tất cả các mô-đun con?
| main.py
| scripts
|--| __init__.py
| script1.py
| script2.py
| script3.py
Từ main.py
, module scripts
được nhập khẩu. Tôi đã thử sử dụng pkgutils.walk_packages
kết hợp với __all__
, nhưng khi sử dụng, tôi chỉ có thể nhập tất cả các mô-đun con dưới trực tiếp main
sử dụng from scripts import *
. Tôi muốn nhận tất cả chúng dưới scripts
. Điều gì sẽ là cách sạch nhất để nhập tất cả các mô-đun con của scripts
để tôi có thể truy cập scripts.script1
từ main
?
EDIT: Tôi xin lỗi vì tôi hơi mơ hồ. Tôi muốn nhập các mô-đun con vào thời gian chạy mà không chỉ rõ chúng trong __init__.py
. Tôi có thể sử dụng pkgutils.walk_packages
để có được tên submodule (trừ khi ai đó biết một cách tốt hơn), nhưng tôi không chắc chắn cách sạch nhất để sử dụng những tên này (hoặc có thể là ImpImporters rằng walk_packages
trả về?) Để nhập chúng.
sẽ pkgutil việc nếu bạn triển khai ứng dụng như một quả trứng nén? bạn có thể xem "nhập pkg_resources", chỉ trong trường hợp –