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

批量自动运行多个 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.xdnf.cn/news/15351.html

相关文章:

  • 创建Spring Boot项目
  • 基于 Redisson 实现分布式系统下的接口限流
  • 网络安全初级第一次作业
  • MacOS环境下运行EasySearch报错无法信任Java包的解决方案
  • ServiceNow Portal前端页面实战讲解
  • GGE Lua 详细教程
  • 【6.1.1 漫画分库分表】
  • c#中生成随机数的三种方法
  • pgsql模板是什么?
  • Kafka——聊聊Kafka的版本号
  • 【理念●体系】从零打造 Windows + WSL + Docker + Anaconda + PyCharm 的 AI 全链路开发体系
  • 1Panel V1 无缝升级到 V2 版本 实现多个 PHP 网站共享一个容器
  • Spring Boot整合MyBatis+MySQL实战指南(Java 1.8 + 单元测试)
  • AIStarter新版重磅来袭!永久订阅限时福利抢先看
  • ARM架构CPU的市场和生态
  • 使用云虚拟机搭建hadoop集群环境
  • Claude Code是什么?国内如何使用到Claude Code?附国内最新使用教程
  • 四、神经网络——正则化方法
  • 喷涂机器人cad【1张】+三维图+设计说明书+降重
  • redis数据结构和数据类型
  • vector之动态二维数组的底层
  • 2025年亚太中文赛B题第一版本超详细解题思路
  • C++:非类型模板参数,模板特化以及模板的分离编译
  • Java大厂面试故事:谢飞机的互联网医疗系统技术面试(Spring Boot、MyBatis、Kafka、Spring Security、AI等)
  • FastAPI + SQLAlchemy (异步版)连接数据库时,对数据进行加密
  • 【字节跳动】数据挖掘面试题0016:解释AUC的定义,它解决了什么问题,优缺点是什么,并说出工业界如何计算AUC。
  • UE5多人MOBA+GAS 18、用对象池来设置小兵的队伍的生成,为小兵设置一个目标从己方出生点攻打对方出生点,优化小兵的血条UI
  • (补充)RS422
  • 【每日刷题】x 的平方根
  • 2D下的几何变换(C#实现,持续更新)