假设我有以下目录结构:
parent_dir/
foo_dir/
foo.py
bar_dir/
bar.py
如果我想bar.py
从内部导入foo.py
,我会怎么做?
假设我有以下目录结构:
parent_dir/
foo_dir/
foo.py
bar_dir/
bar.py
如果我想bar.py
从内部导入foo.py
,我会怎么做?
如果所有出现的目录都是 Python包,即它们都包含__init__.py
,那么您可以使用
from ..bar_dir import bar
如果目录不是 Python 包,你可以通过弄乱 来做到这一点sys.path
,但你不应该这样做。
您可以使用sys
和os
模块进行通用导入。从foo.py
线条开始
import sys
import os
sys.path.append(os.path.abspath('../bar_dir'))
import bar
假设您有以下结构:
root
|_ productconst.py
|_ products
|_ __init__.py
如果您想在中导入 productconst products.__init__
,则可以使用以下命令:
from ..productconst import *
如果您在 python 3+ 中遇到问题,以下对我有用,使用sys.path.append("..")
.
sys.path.append("..")
from bar_dir import bar