Python: 项目有多个包,但我想要一个配置文件

Python: Project with multiple packages, but I'd like to have one config file

我有一个要分发的项目,其中包含几个子包。一个用于清理数据,一个用于转换数据,另一个用于计算一些统计数据。我想避免拥有 3 个 config.py 文件,我可以只在顶层放置一个 config.py 文件吗?例如,而不是这样做:

MyPackage
|
├──mypackage
|     |
|     ├── __init__.py
|     |
|     ├── data_clean
|     |   ├── __init__.py
|     |   ├── config.py
|     |   └── f1.py
|     |
|     ├── data_transform
|     |   ├── __init__.py
|     |   ├── config.py
|     |   └── g1.py
|     |
|     └── stat_calc
|        ├── __init__.py
|        ├── config.py
|        ├── s1.py
|        └── command_line_interface.py # <- users will use this from cmd.exe
|      
├── README.txt    
|
└── setup.py

我想要:

MyPackage
|
├──mypackage
|     |
|     ├── __init__.py
|     |
|     ├── config.py  # <---- put all 3 config.py stuff into here
|     |
|     ├── data_clean
|     |   ├── __init__.py
|     |   └── f1.py
|     |
|     ├── data_transform
|     |   ├── __init__.py
|     |   └── g1.py
|     |
|     └── stat_calc
|         ├── __init__.py
|         ├── s1.py
|         └── command_line_interface.py # <- users will use this from cmd.exe
| 
├── README.txt    
|
└── setup.py

这有意义吗?pythonic/correct?

假设你的模块将存储在 PYTHONPATH 中,答案是肯定的。只需导入它:

从 MyPackage 导入配置