| import os | |
| from pathlib import Path | |
| import sys | |
| def get_project_root() -> Path: | |
| """获取项目根目录的绝对路径""" | |
| # 检查当前文件是否被打包 | |
| if getattr(sys, 'frozen', False): | |
| # 如果是打包后的可执行文件 | |
| return Path(sys.executable).parent | |
| else: | |
| # 开发环境下定位项目根目录 | |
| current_file = Path(__file__).resolve() | |
| # 返回 src 目录的父目录作为项目根目录 | |
| return current_file.parent.parent | |
| PROJECT_ROOT = get_project_root() | |
| CONFIG_PATH = PROJECT_ROOT / 'config.yaml' | |
| DATA_DIR = PROJECT_ROOT / 'data' | |
| MODELS_DIR = PROJECT_ROOT / 'models' | |
| for directory in [DATA_DIR, MODELS_DIR]: | |
| directory.mkdir(exist_ok=True) |