Tôi có gói hello1 chứa mô-đun good.py.Có thể truy cập các biến trong __init__.py từ các mô-đun trong cùng một gói không?
hello1
├── __init__.py
└── good.py
Module init có một biến A = 1
, và tôi cần phải truy cập vào hello1.A biến trong good.py.
import hello1
class Good(object):
def __init__(self):
print hello1.A
if __name__ == "__main__":
g = Good()
Vấn đề là khi tôi thực thi tập lệnh python, tôi gặp lỗi ImportError: 'No module named hello1'
. Tôi có thể thêm import sys; sys.path.append("..")
tại dòng đầu tiên của good.py
để khắc phục nhanh chóng.
Tuy nhiên, good.py nằm trong gói hello1 trong đó __init__.py cũng có trong đó, vì vậy tôi tự hỏi liệu có cách nào để truy cập các biến trong __init__.py từ các mô-đun trong cùng một gói hay không.
Bạn đã thử truy cập thư mục chứa 'hello1' và chạy tập lệnh với' python hello1 \ good.py' chưa?Ngoài ra, bạn có thể tìm thấy câu trả lời ở đây: http://stackoverflow.com/questions/436497/python-import-the-containing-package – flornquake