python - 在 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
,我需要在顶部添加这两行:configs
helpers.py
helpers.py
import sys
sys.path.append("..")
同样,如果我想访问它们,我必须在每个目录的 py 文件中添加这些行。这显然不是正确的方法。有没有其他方法可以使absolute
和relative
导入更清洁和更容易?除此之外的任何解释都会非常有帮助
解决方案
首先,有很多不同的方法可以实现你想要做的事情。并非所有这些都清晰且易于维护(正如您使用 得出的结论sys.path.append("..")
)。
最佳实践 (IMO) 是在myproject/__init__.py
.
例如:
我的项目/__init__.py
from configs import my_config_func
然后...
myproject/utils/helpers.py
from .. import my_config_func
推荐阅读
- react-native - AsyncStorage.clear() 没有清理密钥
- reporting-services - 当主报表参数是 LIKE 运算符的一部分时,子报表不显示
- swift - Multi-Component Picker (UIPickerView) in SwiftUI
- php - 将数组从 Php 转换为 kotlin
- java - 将 for 循环重构为 Java 8 并行流
- c# - 动态创建同步融合时间表以及网格和文本框
- php - 将记录附加到 Laravel hasManyThrough 关系
- python - 计算热图的结构或形状
- java - 在 java 中实现正确的 C# 事件(不是委托)
- javascript - 在 ArcGIS Web AppAbuilder 中将自定义库添加到小部件