【发布时间】:2021-01-09 07:17:44
【问题描述】:
我有一个这样构成的项目:
.
|-dir
| |-subdir
| | |-subsubdir1
| | |-subsubdir2
| | |-subsubdir3
| | |-sub_sub_main.py
| | |-other_relevant.py
| |-sub_main1.py
|-dir2
| |-sub_main2.py
|-main.py
有时我需要在main.py、sub_main1.py、sub_main2.py 和sub_sub_main.py 中导入来自other_relevant.py 的函数。但是,从目录树的不同级别导入脚本会导致必要的导入结构发生变化。
other_relevant.py 和 sub_sub_main.py 中的代码依赖于 subsubdir1、subsubdir2 和 subsubdir3 中其他 python 文件中的代码。当我更改导入这两个文件的位置时,必须更改这些子目录中所有 python 文件中的导入语句。
如果我运行main.py 或sub_main2.py 导入other_relevant.py,则需要在other_relevant.py 中导入才能使用from dir.subdir1.subsubdir1.file import ...。
如果我正在运行sub_main.py 脚本,那么导入语句将变为from subdir.subsubdir1.file import ...
如果我运行sub_sub_main.py,那么导入语句将变为from subsubdir1.file import ...。
由于文件结构在如何组织文件方面是有意义的,我不想真正改变它。有没有办法管理导入语句,这样我就不必根据运行sub_sub_main.py 和other_relevant.py 的位置更改subdir 中文件中的所有导入语句?
【问题讨论】:
标签: python python-3.x import directory python-import