/Users/semsevens/Desktop/workspace/daily/1113/
├── data/ ← 共享数据目录(已迁移)
│ └── 账号/
│ └── 阿里多多酱1/
│ ├── what单独解构/
│ ├── 用于pattern聚类/
│ ├── pattern相关文件/
│ └── how解构_outputs/
│ ├── how_1124_v1/ ← 当前项目输出
│ ├── how_1121_v2/ ← 未来其他项目输出
│ └── ...
│
├── how_1124_v1/ ← 已完成迁移 ✓
├── how_1121_v2/ ← 待迁移
├── how_1120_v3/ ← 待迁移
└── ...其他项目/ ← 待迁移
为每个需要使用共享数据的项目执行以下步骤:
# 1. 进入项目目录
cd /Users/semsevens/Desktop/workspace/daily/1113/how_1121_v2
# 2. 删除项目内的data目录(如果存在且不需要保留)
# 注意:如果这个项目有独特数据,先备份!
rm -rf data
# 3. 复制最新的配置文件
cp ../how_1124_v1/config/accounts.json config/accounts.json
# 4. 复制最新的 path_config.py
cp ../how_1124_v1/script/data_processing/path_config.py script/data_processing/path_config.py
# 5. 验证配置
python script/data_processing/path_config.py
创建一个脚本来批量处理:
#!/bin/bash
# migrate_all_projects.sh
BASE_DIR="/Users/semsevens/Desktop/workspace/daily/1113"
REFERENCE_PROJECT="how_1124_v1"
# 要迁移的项目列表
PROJECTS=(
"how_1121_v2"
"how_1121_v1"
"how_1120_v3"
"how_1120_v2"
"how_1120_v1"
# 添加更多项目...
)
for project in "${PROJECTS[@]}"; do
echo "========================================"
echo "处理项目: $project"
echo "========================================"
cd "$BASE_DIR/$project" || continue
# 备份旧配置(如果需要)
if [ -f "config/accounts.json" ]; then
cp config/accounts.json config/accounts.json.backup
fi
# 复制新配置
cp "$BASE_DIR/$REFERENCE_PROJECT/config/accounts.json" config/accounts.json
cp "$BASE_DIR/$REFERENCE_PROJECT/script/data_processing/path_config.py" script/data_processing/path_config.py
# 验证
echo "验证配置..."
python script/data_processing/path_config.py
echo ""
done
echo "所有项目迁移完成!"
使用:
chmod +x migrate_all_projects.sh
./migrate_all_projects.sh
如果某个旧项目不想修改代码,可以创建软链接:
cd /Users/semsevens/Desktop/workspace/daily/1113/how_1120_v1
# 删除旧的 data 目录
rm -rf data
# 创建指向共享 data 的软链接
ln -s ../data data
# 验证
ls -la data
注意: 软链接方式不支持版本化输出,所有使用软链接的项目会共享同一个输出目录。
所有项目共享同一份输入数据,节省磁盘空间。
每个项目的输出自动保存到独立的版本目录:
data/账号/阿里多多酱1/how解构_outputs/
├── how_1120_v1/
├── how_1120_v2/
├── how_1120_v3/
├── how_1121_v1/
├── how_1121_v2/
└── how_1124_v1/
可以轻松对比不同版本的输出结果:
# 查看所有版本
ls data/账号/阿里多多酱1/how解构_outputs/
# 对比两个版本的结果
diff -r data/账号/阿里多多酱1/how解构_outputs/how_1120_v1/results \
data/账号/阿里多多酱1/how解构_outputs/how_1124_v1/results
# 打开不同版本的可视化
open data/账号/阿里多多酱1/how解构_outputs/how_1120_v1/visualization/how解构结果_可视化.html
open data/账号/阿里多多酱1/how解构_outputs/how_1124_v1/visualization/how解构结果_可视化.html
迁移完成后,确保以下内容正确:
config/accounts.json 中 data_root 设置为 "../data"script/data_processing/path_config.py 已更新python script/data_processing/path_config.py 无错误如果某个项目的 data/ 目录包含独特数据(不在共享 data 中),有两个选择:
迁移独特数据到共享目录 ```bash
cp -r old_project/data/账号/特殊账号/* ../data/账号/特殊账号/
2. **保持项目独立**
```bash
# 修改该项目的配置,使用项目内 data
# config/accounts.json:
{
"data_root": "data", // 保持使用项目内的data
...
}
# 进入共享数据目录
cd /Users/semsevens/Desktop/workspace/daily/1113/data/账号/阿里多多酱1
# 查看所有版本(按时间排序)
ls -lt how解构_outputs/
# 删除旧版本(谨慎操作!)
rm -rf how解构_outputs/how_1113_v1
rm -rf how解构_outputs/how_1113_v2
# 或者只保留最新3个版本
cd how解构_outputs
ls -t | tail -n +4 | xargs rm -rf
可以,但不推荐。使用相对路径 "../data" 可以保持项目的可移植性。
如果确实需要绝对路径:
{
"data_root": "/Users/semsevens/Desktop/workspace/daily/1113/data",
...
}
# 1. 复制共享数据回项目内
cp -r ../data ./data
# 2. 修改配置
# config/accounts.json:
{
"data_root": "data",
...
}
# 3. 验证
python script/data_processing/path_config.py
迁移完成后,可以清理不再需要的旧项目:
# 1. 确认所有需要的输出已保存到共享data
ls -la /Users/semsevens/Desktop/workspace/daily/1113/data/账号/阿里多多酱1/how解构_outputs/
# 2. 删除不再需要的旧项目
cd /Users/semsevens/Desktop/workspace/daily/1113
rm -rf how_1113_v1
rm -rf how_1113_v2
# ...
# 3. 只保留最近的几个版本作为代码参考
# 建议保留: how_1124_v1, how_1121_v2, how_1120_v3
当你创建新项目时(比如 how_1125_v1),只需:
# 1. 复制最新项目
cp -r how_1124_v1 how_1125_v1
# 2. 清理不需要的文件
cd how_1125_v1
rm -rf data # 删除data目录(如果复制时带过来了)
# 3. 配置已经是 "../data",无需修改
# 4. 开始开发
# 输出会自动保存到:../data/账号/阿里多多酱1/how解构_outputs/how_1125_v1/