Tôi xin lỗi vì câu hỏi __init__.py
khác.Cách truy cập __init__.py biến từ các phần sâu hơn của gói
tôi có cấu trúc gói sau:
+contrib
+--__init__.py
|
+database
+--__init__.py
|
+--connection.py
Trong top-level __init__.py
tôi xác định: USER='me'
. Nếu tôi import contrib
từ dòng lệnh, thì tôi có thể truy cập contrib.USER
.
Bây giờ, tôi muốn truy cập contrib.user
từ withih connection.py
nhưng tôi không thể làm điều đó.
Cấp cao nhất __init__.py
được gọi khi tôi phát hành from contrib.database import connection
, vì vậy Python thực sự đang tạo thông số USER
.
Vì vậy, câu hỏi đặt ra là: cách bạn truy cập vào các tham số và biến được khai báo ở cấp cao nhất __init__.py
từ trong số trẻ em.
Cảm ơn bạn.
EDIT:
Tôi nhận ra rằng bạn có thể thêm import contrib
-connection.py
, nhưng có vẻ như lặp đi lặp lại, vì nó là rõ ràng (không đúng như vậy?) Rằng nếu bạn cần connection.py
bạn đã nhập khẩu contrib
.
Về lý thuyết, bạn có thể lấy nó ra khỏi 'sys.modules', vì bạn biết nó ở đó, nhưng tôi sẽ * mạnh mẽ khuyên * chống lại việc đó. Câu trả lời của Wai Yip Tung là tốt hơn nhiều. – Kevin