简洁说明 — 快速上手
code_saver 提供一个轻量的“代码快照”功能,用来把主脚本及其在项目内的本地依赖文件复制到一个快照目录,方便保存实验/训练代码以便复现。
路径结构示例:
your_project/
main.py # 主脚本
module_a.py # 本地模块
package_b/ # 本地包
__init__.py
submodule_b1.py
code_saver/ # code_saver 包
__init__.py
code_saver.py # 主要功能实现
示例脚本:code_saver/example.py
快速运行(在your_project目录执行):
python code_saver/example.py运行效果:
- 脚本会调用
save_code_snapshot,并将快照保存到your_project/tmp/(参考当前example.py中的save_dir配置)。
若想在代码中直接使用:
from code_saver.code_saver import save_code_snapshot
save_code_snapshot(main_script='main.py', project_dir_path='your_project', save_dir='snapshots')备注与限制
- 通过静态 AST 分析与 importlib 定位依赖,无法百分百覆盖所有动态导入或运行时生成的模块。
- 默认只会复制位于
project_dir_path下的文件;第三方库不会被打包进快照。
- [✅] 增加对项目路径不存在的检查
- [✅] 增加对软/硬链接复制时的处理
- [⬜] 增加对保存时用户指定备注的支持(可选)
- ⬜ 未开始
- 🔄 进行中
- ✅ 已完成
- ❌ 已取消
- ⏸️ 已暂停