我想將子文件夾導入爲模塊。因此每個子文件夾都包含__init__.py
。我的文件夾結構是這樣的:從子文件夾導入模塊
src\
main.py
dirFoo\
__init__.py
foofactory.py
dirFoo1\
__init__.py
foo1.py
dirFoo2\
__init__.py
foo2.py
在我的主腳本我導入
from dirFoo.foofactory import FooFactory
在這家工廠的文件I包括子模塊:
from dirFoo1.foo1 import Foo1
from dirFoo2.foo2 import Foo2
如果我打電話給我的foofactory我得到的錯誤,蟒蛇無法導入子模塊foo1和foo2:
Traceback (most recent call last):
File "/Users/tmp/src/main.py", line 1, in <module>
from dirFoo.foofactory import FooFactory
File "/Users/tmp/src/dirFoo/foofactory.py", line 1, in <module>
from dirFoo1.foo1 import Foo1
ImportError: No module named dirFoo1.foo1
有一點要記住!將'__init __。py'添加到您從中導入的每個子文件夾。 –
空'__init __。py'可以完成這項工作。 – cerebrou
如果以前'Foo1'在父目錄中,並且一個編碼類似於'from Foo1 import *'編寫的東西,語法會是什麼。有沒有辦法達到同樣的效果,所以你不必用'Foo1'來加前綴? – jxramos