如何在Google Colab中让Notebook单元格自动保存自身代码至文件
在Google Colab中让Notebook单元格保存自身代码到文件的方法
方法一:保存当前单元格的完整代码
将以下代码与你的实验代码放在同一个单元格中,运行时会自动把整个单元格的代码保存为带时间戳的唯一文件:
import os from datetime import datetime # 获取当前单元格的完整代码 ip = get_ipython() cell_code = ip.history_manager.get_range()[-1][2] # 生成唯一文件名(时间戳确保不重复) timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") filename = f"experiment_code_{timestamp}.py" # 写入文件 with open(filename, 'w', encoding='utf-8') as f: f.write(cell_code) print(f"代码已保存至: {filename}")
方法二:仅保存核心实验代码(排除保存逻辑)
如果只想保存你的实验代码片段,不想把保存逻辑也写入文件,可以用标记分隔实验代码:
# --- 实验代码开始 --- df['signal adjusted'] = df['signal'].pct_change() + df['baseline'] results = run_experiment(df) # --- 实验代码结束 --- import os from datetime import datetime # 获取当前单元格代码并提取实验部分 ip = get_ipython() cell_code = ip.history_manager.get_range()[-1][2] start_marker = "# --- 实验代码开始 ---" end_marker = "# --- 实验代码结束 ---" start_idx = cell_code.find(start_marker) + len(start_marker) end_idx = cell_code.find(end_marker) experiment_code = cell_code[start_idx:end_idx].strip() # 生成唯一文件名并保存 timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") filename = f"experiment_code_{timestamp}.py" with open(filename, 'w', encoding='utf-8') as f: f.write(experiment_code) print(f"实验代码已保存至: {filename}")
额外:自动下载保存的文件
如果需要运行后直接下载文件,可在代码末尾添加:
from google.colab import files files.download(filename)
保存的文件会出现在Colab左侧的文件面板中,也可通过上述代码自动下载到本地。
内容的提问来源于stack exchange,提问作者Tuppitappi
相关产品推荐
相关产品推荐

