Mam pakiet hello1, który zawiera moduł good.py.Czy można uzyskać dostęp do zmiennych w __init__.py z modułów w tym samym pakiecie?
hello1
├── __init__.py
└── good.py
Moduł startowych ma zmienną A = 1
, i mieć dostęp do zmiennej hello1.A w good.py.
import hello1
class Good(object):
def __init__(self):
print hello1.A
if __name__ == "__main__":
g = Good()
Kwestia jest taka, że kiedy wykonać skrypt Pythona Mam ImportError: 'No module named hello1'
błąd. Mogę dodać import sys; sys.path.append("..")
w pierwszej linii good.py
dla szybkiej poprawki.
Jednak good.py znajduje się w pakiecie hello1, w którym znajduje się również __init__.py, więc zastanawiam się, czy istnieje sposób na dostęp do zmiennych w __init__.py z modułów w tym samym pakiecie.
Czy próbowałeś iść do katalogu zawierającego 'hello1' i uruchamiając skrypt za pomocą' python hello1 \ good.py'?Możesz także znaleźć odpowiedź tutaj: http://stackoverflow.com/questions/436497/python-import-the-containing-package – flornquake