如何从兄弟目录导入 Python 脚本?

假设我有以下目录结构:

parent_dir/
foo_dir/
foo.py
bar_dir/
bar.py

如果我想从 foo.py中导入 bar.py,我该怎么做?

53266 次浏览

如果所有出现的目录都是 Python包裹,即它们都包含 __init__.py,那么您可以使用

from ..bar_dir import bar

如果这些目录不是 Python 包,那么您可以通过使用 sys.path来实现这一点,但是您不应该这样做。

You can use the sys and os modules for generalized imports. In foo.py start with the lines

import sys
import os
sys.path.append(os.path.abspath('../bar_dir'))
import bar

如果在 python3 + 中遇到问题,下面的内容可以用 sys.path.append("..")解决。

sys.path.append("..")
from bar_dir import bar

假设你有以下结构:

root
|_ productconst.py
|_ products
|_ __init__.py

如果您想在 products.__init__中导入 product const,那么可以使用以下命令:

from ..productconst import *