首页 > 解决方案 > 在 Python 中处理路径细微差别的项目结构

问题描述

我正在开发一个 Python 项目,该项目的当前结构如下所示:

myproject
__init.__py

contents
    - __init__.py
    - content1.py
    ...

configs
    - __init__.py
    - config.py
    ...
utils
    - __init__.py
    - helpers.py
    ..
app.py

现在,如果我想从目录中访问函数 to config.py,我需要在顶部添加这两行:configshelpers.pyhelpers.py

import sys
sys.path.append("..")

同样,如果我想访问它们,我必须在每个目录的 py 文件中添加这些行。这显然不是正确的方法。有没有其他方法可以使absoluterelative导入更清洁和更容易?除此之外的任何解释都会非常有帮助

标签: pythonpython-3.xflaskproject-structure

解决方案


首先,有很多不同的方法可以实现你想要做的事情。并非所有这些都清晰且易于维护(正如您使用 得出的结论sys.path.append(".."))。

最佳实践 (IMO) 是在myproject/__init__.py.

例如:

我的项目/__init__.py

from configs import my_config_func

然后...

myproject/utils/helpers.py

from .. import my_config_func

推荐阅读