【发布时间】:2021-08-03 07:16:15
【问题描述】:
我更详细地“重新发布”这个问题,因为我觉得它第一次被误解了。我有一个看起来像这样的文件夹结构:
folder w space
├── folder1
│ └── subfolder1
│ └── file_1.py
└── folder2
└── folder w space2
└── file_2.py
└── __init__.py
我需要 file_1.py 从 file_2.py 导入方法。请注意,file_2.py 相对于 file_1.py,向上 3 个目录,然后向下 3 个目录。理论上,我会这样写相对导入:
from ...folder2 import folder w space2.file2
但是,由于子文件夹中的间距,这是无效的。绝对导入更糟糕,因为基本文件夹也包含空格:
from folder w space.folder2.folder w space2.file2
有了这个,我怎样才能访问file_2.py的内容,没有:
- 重命名文件夹(我不拥有它们,所以即使我想也不能这样做)
- 不使用
sys.path.append()(在我们的生产环境中效果不佳) - 搬家
file_2.py(因为组织必须留在原地)
任何帮助将不胜感激!
【问题讨论】:
标签: python import lib relative-import