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 导入配置
我有一个要分发的项目,其中包含几个子包。一个用于清理数据,一个用于转换数据,另一个用于计算一些统计数据。我想避免拥有 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 导入配置