# 多账号目录管理方案 ## 目录结构 ``` data/ ├── 账号/ │ ├── 阿里多多酱/ # 账号目录 │ │ ├── what解构/ # 当前帖子what解构(原始数据,不动) │ │ ├── what解构_所有帖子/ # 过去帖子what解构(原始数据,不动) │ │ ├── pattern/ # pattern聚合结果(原始数据,不动) │ │ │ └── cluster/ │ │ │ └── clustered_data.json │ │ └── how解构/ # 新增:所有输出结果 │ │ ├── intermediate/ # 中间结果 │ │ │ ├── 特征名称_分类映射.json │ │ │ ├── 分类层级映射.json │ │ │ ├── 特征名称_帖子来源.json │ │ │ └── 当前帖子_解构任务列表.json │ │ ├── results/ # how解构最终结果 │ │ │ └── *_how.json │ │ └── visualization/ # 可视化结果 │ │ └── how解构结果_可视化.html │ │ │ └── 其他账号名/ # 其他账号,结构相同 │ └── ... │ └── config/ └── accounts.json # 账号配置文件 ``` ## 核心设计原则 1. **原始数据目录不动**:`what解构/`、`what解构_所有帖子/`、`pattern/` 保持原样 2. **输出统一管理**:所有输出结果放到新增的 `how解构/` 目录下 3. **账号隔离**:每个账号独立目录,互不影响 4. **配置驱动**:通过配置文件管理路径,支持批量处理 ## 使用方式 ### 1. 配置账号 编辑 `config/accounts.json`: ```json { "accounts": [ { "name": "阿里多多酱", "enabled": true, "description": "第一个测试账号" }, { "name": "新账号名", "enabled": true, "description": "新增账号" } ], "default_account": "阿里多多酱" } ``` ### 2. 准备数据 确保账号目录下有以下原始数据: - `what解构/` - 当前帖子解构结果 - `what解构_所有帖子/` - 过去帖子解构结果 - `pattern/cluster/clustered_data.json` - pattern聚合结果 ### 3. 运行处理脚本 #### 方式一:处理单个账号 ```bash # 指定账号名 ./script/data_processing/run_all_with_config.sh 阿里多多酱 # 或使用环境变量 ACCOUNT_NAME=阿里多多酱 ./script/data_processing/run_all_with_config.sh ``` #### 方式二:批量处理所有启用的账号 ```bash ./script/data_processing/run_all_with_config.sh --all ``` ### 4. 查看结果 处理完成后,结果在 `data/账号/<账号名>/how解构/` 目录下: - `intermediate/` - 中间结果文件 - `results/` - how解构结果 - `visualization/` - 可视化HTML文件 ## Python脚本中使用 所有Python脚本都应该使用 `PathConfig` 类来管理路径: ```python from path_config import PathConfig # 获取路径配置 config = PathConfig() # 使用默认账号或环境变量 # 或指定账号 config = PathConfig(account_name="阿里多多酱") # 使用路径 input_file = config.pattern_cluster_file output_file = config.feature_category_mapping_file # 确保输出目录存在 config.ensure_dirs() ``` ## 路径配置说明 `PathConfig` 类提供的主要属性: ### 输入路径 - `current_posts_dir` - 当前帖子目录 - `historical_posts_dir` - 过去帖子目录 - `pattern_cluster_file` - pattern聚合文件 ### 输出路径 - `intermediate_dir` - 中间结果目录 - `feature_category_mapping_file` - 特征分类映射文件 - `category_hierarchy_file` - 分类层级映射文件 - `feature_source_mapping_file` - 特征来源映射文件 - `task_list_file` - 任务列表文件 - `how_results_dir` - how解构结果目录 - `visualization_dir` - 可视化目录 - `visualization_file` - 可视化HTML文件 ## 优势 1. **原始数据安全**:不修改原始数据目录,只新增输出目录 2. **易于扩展**:添加新账号只需创建目录和添加配置 3. **批量处理**:支持一键处理所有账号 4. **配置灵活**:通过配置文件轻松调整路径结构 5. **代码复用**:所有脚本使用统一的路径管理类 ## 注意事项 1. 新增账号时,确保账号目录下有完整的原始数据 2. 运行脚本前会自动验证输入路径是否存在 3. 输出目录会自动创建,无需手动创建 4. 可以通过环境变量 `ACCOUNT_NAME` 指定账号,方便在CI/CD中使用