You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何跨Jupyter Notebook文件调用函数及共享全局变量

跨Jupyter Notebook调用的实现方法

方案1:使用%run魔法命令(最简单,适合大部分场景)

  • 直接在function.ipynb的代码最顶部添加运行指令:%run ./Dates.ipynb
  • 该指令会完整执行Dates.ipynb内的所有代码,其中定义的input_dates()、year()、month()函数,以及全局变量start_date、exit_date、from_year、from_month等都会直接注入到当前notebook的运行环境中,可直接调用。
  • 修正后的完整function.ipynb代码如下:
# 导入Dates.ipynb的所有内容
%run ./Dates.ipynb
# 补充本文件缺失的依赖导入
import os
from dateutil.relativedelta import relativedelta

# 自行替换为实际的文件根路径
Fu_path = "你的本地文件根目录"

def path():
    # 新建日期副本用于迭代,避免修改全局的start_date
    current_date = start_date
    while current_date <= exit_date:
        # 用f-string自动补零月份,无需额外if判断
        path1 = f"{Fu_path}\\{current_date.year}\\{current_date.month:02d}"
        current_date += relativedelta(months=1)
        dir_list = os.listdir(path1)
        print(dir_list)

path()

注意:不需要再重复调用input_dates(),%run执行Dates.ipynb时已经触发过一次输入操作,重复调用会导致用户需要二次输入日期。

方案2:使用import_ipynb库(按需调用,避免直接执行全文件代码)

  • 先安装依赖:pip install import-ipynb
  • 在function.ipynb中按需导入模块即可,调用函数和变量时需要加模块前缀:
import import_ipynb
import Dates

# 手动调用Dates里的函数
Dates.input_dates()
Dates.year()
Dates.month()

# 变量调用示例
print(Dates.start_date)
print(Dates.from_year)

内容的提问来源于stack exchange,提问作者Krishna Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:45:04