如何通过Google Colab单元格下载当前Notebook实现自动备份?
解决Colab协作时自动保存下载当前Notebook的问题
多人协作Google Colab时,意外覆盖他人输出的情况确实常见。由于Colab的Notebook存储在云端,本地/content目录下找不到对应的.ipynb文件,得通过API导出后再完成下载。
以下是运行单元格后自动保存并下载当前Notebook的实现代码:
from google.colab import files import json import requests # 获取当前Notebook的云端路径ID session_info = json.loads(requests.get('http://172.28.0.2:9000/api/sessions').text)[0] notebook_path = session_info['path'] # 从云端导出Notebook到本地当前目录 !wget -O auto_saved_notebook.ipynb "http://172.28.0.2:9000/api/notebooks/{notebook_path}?format=ipynb" # 下载导出的Notebook文件到本地 files.download('auto_saved_notebook.ipynb')
代码说明:
- 先通过Colab内部API获取当前Notebook的云端路径标识;
- 用
wget命令将云端Notebook导出为本地的.ipynb文件; - 最后调用
files.download()完成本地下载。
如果要每次运行单元格后自动执行,把这段代码放在目标单元格末尾,或者封装成函数调用即可。
内容的提问来源于stack exchange,提问作者griko
相关产品推荐
相关产品推荐

