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

如何在Jupyter Notebook中导入.py/.ipynb文件的列表用于Hangman游戏开发

Jupyter Notebook导入外部单词列表的实现方法

从.py文件导入

这是最简单的导入方式,操作要求如下:

  • 确保存储wordlist的words2.py文件和当前运行的笔记本放在同一文件夹下,words2.py内的列表定义格式示例:
# words2.py 内容示例
wordlist = ["apple", "banana", "program", "hangman", "python"]
  • 直接在当前笔记本运行导入语句即可,和普通Python导入逻辑完全一致:
from words2 import wordlist

如果words2.py不在当前工作目录,可以先把对应路径加入系统路径再导入:

import sys
# 替换为words2.py所在文件夹的绝对路径
sys.path.append("/Users/xxx/documents/hangman/")
from words2 import wordlist

从.ipynb笔记本文件导入

你代码里用到的nbimporter库就是专门用来实现笔记本互相导入的,按以下步骤操作即可:

  • 先安装nbimporter依赖,在单元格执行:
!pip install nbimporter
  • 确保存储wordlist的words2.ipynb已经保存,且定义wordlist的单元格已经成功运行过,文件放在当前笔记本的同目录下
  • 执行你写的导入代码即可:
import nbimporter
from words2 import wordlist

如果导入报错,可以执行以下代码打印当前工作目录,确认words2.ipynb是否放在对应路径下:

import os
print(os.getcwd())

现有代码优化建议

你当前写的get_valid_word逻辑是可用的,不过如果单词列表很大的话,反复随机重试效率较低,可以提前过滤所有合法词,优化后代码如下:

import random
import string
import nbimporter
from words2 import wordlist

# 提前过滤所有不带空格、破折号的合法单词,统一转大写
valid_word_list = [word.upper() for word in wordlist if '-' not in word and ' ' not in word]

def get_valid_word(valid_word_list):
    # 直接从预过滤的合法列表里随机选,不需要重复校验
    return random.choice(valid_word_list)

内容的提问来源于stack exchange,提问作者DeAndre Horton

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 14:18:03