当前位置: 首页 > news >正文

批量自动运行多个 Jupyter Notebook 文件的方法!!!

需求与问题

我在一个大文件夹 【多jupyter调用测试】 下面,有两个项目里面分别有一个jupyter文件。
如何实现自动调用上述两个jupyer,这样我就不用盯着程序看了

解决方案

下面是一个完整的 Python 脚本,它将:

  1. 遍历多个 Jupyter notebook 文件路径
  2. 在每个 notebook 所在的子文件夹中生成输出文件
  3. 输出文件名自动加上时间戳(防止覆盖)

✅ 完整 Python 脚本(输出保留目录 + 加时间戳)

import subprocess
import os
from datetime import datetime# 输入你的 notebook 路径列表
notebooks = [r"C:\Users\***\Desktop\多jupyter调用测试\***\***.ipynb",r"C:\Users\***\Desktop\多jupyter调用测试\***\***.ipynb"
]# 获取当前时间戳,用于唯一标识输出文件
timestamp = datetime.now().strftime("%Y%m%d-%H%M%S")for nb_path in notebooks:# 获取文件夹和文件名folder = os.path.dirname(nb_path)filename = os.path.basename(nb_path).replace(".ipynb", "")# 构造新的输出文件名:原名 + 时间戳output_name = f"{filename}-executed-{timestamp}.ipynb"print(f"📘 正在执行:{filename}")print(f"📁 输出路径:{os.path.join(folder, output_name)}\n")# 执行 notebook,并保存为新文件subprocess.run(["jupyter", "nbconvert", "--to", "notebook", "--execute","--output", output_name,nb_path])

🚀 注意

文件地址的写法问题!
当采用字符串写作的话,这里就要用“\”来表达路径,用“r”在路径前标注

r"C:\Users\***\Desktop\多jupyter调用测试\***\***.ipynb"

而当直接写路径的时候,就要用“/”来表达路径,但是不需要“r”来标注

"C:/Users/***/Desktop/多jupyter调用测试/***/***.ipynb"

📦 输出示例

如果原文件是:

RnnNet_***-....ipynb

则输出为:

RnnNet_***-....-executed-20250712-142300.ipynb

并保存在原 notebook 的同一个文件夹中。

同时,原来的jupyter文件运行过程中所产生的打印会保留在输出的jupyter文件。输出文件则在原jupyter文件所在的目录!

📌 说明

  • 使用的是 nbconvert 原生 API,兼容性好;
  • 时间戳使用格式 YYYYMMDD-HHMMSS
  • 运行过程有清晰的打印提示,便于跟踪每个 notebook 的执行状态。

http://www.dtcms.com/a/275525.html

相关文章:

  • 13. G1垃圾回收器
  • Edge浏览器:报告不安全的站点的解决方案
  • 【字符串移位包含问题】2022-8-7
  • Kotlin文件操作
  • 浅谈 Python 中的 yield——yield的返回值与send()的关系
  • Ether and Wei
  • Spring 框架中的设计模式:从实现到思想的深度解析
  • 贪心算法题解——跳跃游戏【LeetCode】
  • AI大模型(七)Langchain核心模块与实战(二)
  • Android音视频探索之旅 | C++层使用OpenGL ES实现视频渲染
  • CTFHub————Web{信息泄露[Git泄露(log)]}
  • 《Java Web程序设计》实验报告五 Java Script学习汇报
  • Redis Geospatial 功能详解及多边形包含判断实现
  • win10安装Rust Webassembly工具链(wasm-pack)报错。
  • Rust Web 全栈开发(五):使用 sqlx 连接 MySQL 数据库
  • Rust Web 全栈开发(六):在 Web 项目中使用 MySQL 数据库
  • 前端note
  • 【推荐】前端低端机和弱网环境下性能优化
  • 前端面试专栏-算法篇:24. 算法时间与空间复杂度分析
  • 在前端开发中关于reflow(回流)和repaint(重绘)的几点思考
  • MySQL 中图标字符存储问题探究:使用外挂法,毕业论文——仙盟创梦IDE
  • AI驱动的大前端内容创作与个性化推送:资讯类应用实战指南
  • 容器化改造避坑指南:传统应用迁移K8s的10个关键节点(2025实战复盘)
  • CSS flex
  • Capsule Networks:深度学习中的空间关系建模革命
  • GGE Lua 详细教程
  • 《Java Web程序设计》实验报告四 Java Script前端应用和表单验证
  • 基于Java的Markdown到Word文档转换工具的实现
  • 基于大模型的鼻咽癌全周期预测及诊疗优化研究报告
  • EPLAN 电气制图(七):电缆设计全攻略