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

脚本运行报File Not Found Error但Jupyter Notebook正常,如何解决?

问题原因与解决方法

问题出在脚本运行时的当前工作目录和Jupyter Notebook的工作目录不一致:

  • Jupyter启动时,默认会把工作目录设置为Notebook文件所在的文件夹,所以你的相对路径data/movie_data.json能正确定位到文件。
  • 但运行脚本时,当前工作目录是你执行脚本命令时所在的路径(比如你在桌面打开终端,运行python ~/projects/script.py,此时工作目录是桌面,不是脚本所在的projects目录),导致相对路径失效。

解决办法

方法1:使用绝对路径(推荐)

通过__file__获取脚本的绝对路径,再拼接JSON文件路径,确保无论在哪运行都能找到文件:

import os
import json

# 获取脚本所在目录的绝对路径
script_dir = os.path.dirname(os.path.abspath(__file__))
# 拼接JSON文件的完整路径
json_file_path = os.path.join(script_dir, "data", "movie_data.json")

with open(json_file_path, "r") as j:
    word_map = json.load(j)

方法2:先切换工作目录

在脚本开头切换到脚本所在的目录,再用原来的相对路径加载文件:

import os
import json

# 切换到脚本所在的目录
os.chdir(os.path.dirname(os.path.abspath(__file__)))

with open("data/movie_data.json", "r") as j:
    word_map = json.load(j)

内容的提问来源于stack exchange,提问作者Droid-Bird

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:00:24