[英]How can I import subpackage?
我有這樣的文件結構:
test.py
Dir1\
__init__.py
Something.py
Dir2\
__init__.py
Something2.py
#Dir1.__init__.py
from .Something import *
Dir2.__init__.py
具有相同的代碼,但帶有.Something2
Something.py 有簡單的 add 方法,Something2.py 有簡單的 sub 方法。
我需要的:
#test.py
import Dir1
print(Dir1.Dir2.sub(10, 14))
但我得到一個錯誤AttributeError: module 'Dir1' has no attribute 'Dir2'
。
如果我在test.py
中的Dir1.__init__.py
代碼中使用from.Dir2 import *
可以工作,但print(Dir1.sub(10, 14))
也可以工作,這是我不想要的。 我嘗試了許多變體,但它們給我帶來了錯誤或Dir1.sub
工作。
這可能可以在互聯網上找到,但是我的英語知識很糟糕,我可能會錯過答案。 當然,我已經嘗試在 Internet 上搜索它。
我將非常感謝您的回答。
# test.py
import Dir1.Dir2
print(Dir1.Dir2.sub(10,14))
應該管用。 此外,如果您需要,您可以在導入時使用as
關鍵字重命名模塊
import some_module as new_name
可能是拐杖,但我找到了解決辦法。 現在我有了這個文件結構:
test.py
Dir1\
__init__.py
Dir1\
__init__.py
Something.py
Dir2\
__init__.py
Something2.py
#Dir1.__init__
import Dir1 as Add
from .Dir1 import Dir2 as Sub
現在我可以使用
#test.py
import Dir1
print(Dir1.Sub.sub(10, 7))
並且不能使用
#test.py
import Dir1
print(Dir1.sub(10, 7))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.