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

如何在Jupyter Notebook中导入另一个完整的ipynb文件

解决方案

问题1:导入后无响应本质是输入阻塞

你提供的adivinhacao.ipynb中存在顶层input()语句,Python导入模块时会默认执行文件内所有未封装的顶层代码,运行到input()时会进入静默等待输入状态,你看到的「无响应」实际是程序在等待你输入难度参数:

  • 可以在导入代码的输出框直接输入1/2/3任意难度值,程序就会继续执行
  • 如果你希望导入时不自动执行业务逻辑,仅在需要时手动触发运行,将adivinhacao.ipynb的代码封装为函数并添加入口判断:
import random

def jogar():
    aleatorio = random.randrange(1,101)
    tentativas = 0
    rodada = 1
    pontos = 1000

    print(aleatorio)

    # Para selecionar o nível de dificuldade do jogo
    print("Escolha o nível de dificuldade")
    print("(1) Fácil, (2) Médio, (3) Difícil")

    nivel = int(input("Digite o nível: "))

    if(nivel == 1):
        tentativas = 10
    elif(nivel == 2):
        tentativas = 5
    else:
        tentativas = 3

    #(more code)

# 仅直接运行当前文件时才执行jogar(),导入时不自动运行
if __name__ == "__main__":
    jogar()

修改后jogos.ipynb的调用逻辑调整为:

!pip install import-ipynb
import import_ipynb
import adivinhacao

# 需要运行游戏时主动调用函数
adivinhacao.jogar()

问题2:修改文件后导入无变化是模块缓存导致

Python导入模块后会自动缓存模块内容,你修改adivinhacao.ipynb后重复执行import adivinhacao不会加载更新后的内容,需要手动重载模块:

import importlib
importlib.reload(adivinhacao)

极端情况修复方案

如果以上操作仍无效,按以下步骤执行:

  • 关闭两个ipynb文件对应运行中的内核
  • 进入Jupyter工作目录,删除根目录下的__pycache__文件夹
  • 重新启动内核,运行导入代码即可

内容的提问来源于stack exchange,提问作者Marcelo Wieczorek

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 03:24:05