从子目录导入模块
Importing modules from subdirectories
我有这样的文件结构:
package/
__init__.py
foo.py
subdir/
bar.py
baz.py
我希望能够 运行 foo.py
并导入 bar.py
。在 bar.py
中,baz.py
是使用 import baz
导入的。问题是 bar
无法导入 baz
如果我将其导入 foo
.
foo.py
from importlib import import_module
import_module('subdir.bar', package='package')
您的 subdir
文件夹中还需要一个 __init__.py
。请参阅下面的示例和输出:
foo.py
from subdir import bar
print "hello from foo.py"
子目录/__init__.py
(空)
subdir/bar.py
import baz
print "hello from bar.py"
subdir/baz.py
print "hello from baz.py"
运行foo.py
的输出
hello from baz.py
hello from bar.py
hello from foo.py
我有这样的文件结构:
package/
__init__.py
foo.py
subdir/
bar.py
baz.py
我希望能够 运行 foo.py
并导入 bar.py
。在 bar.py
中,baz.py
是使用 import baz
导入的。问题是 bar
无法导入 baz
如果我将其导入 foo
.
foo.py
from importlib import import_module
import_module('subdir.bar', package='package')
您的 subdir
文件夹中还需要一个 __init__.py
。请参阅下面的示例和输出:
foo.py
from subdir import bar
print "hello from foo.py"
子目录/__init__.py
(空)
subdir/bar.py
import baz
print "hello from bar.py"
subdir/baz.py
print "hello from baz.py"
运行foo.py
hello from baz.py hello from bar.py hello from foo.py