Skip to content

fffffq00/code_saver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

code_saver

简洁说明 — 快速上手

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 下的文件;第三方库不会被打包进快照。

TODO

  • [✅] 增加对项目路径不存在的检查
  • [✅] 增加对软/硬链接复制时的处理
  • [⬜] 增加对保存时用户指定备注的支持(可选)

任务状态标记说明

  • ⬜ 未开始
  • 🔄 进行中
  • ✅ 已完成
  • ❌ 已取消
  • ⏸️ 已暂停

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages