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

Spyder中同目录文件需完整路径才能打开的问题求助

解决Spyder中相对路径读取CSV失败的问题

这种情况我之前排查过好几次,大概率是Spyder的**当前工作目录(Working Directory)**悄悄改变了——哪怕你没手动修改过路径变量,也可能因为操作习惯或者软件默认设置触发这个问题。

第一步:先确认当前工作目录

先在你的代码开头加一行,看看Spyder现在默认的工作路径是哪里:

import os
print(os.getcwd())

如果输出的路径和你的脚本、CSV文件所在的目录不一样,那这就是问题根源了。

为什么工作目录会变?

常见的几个原因:

  • 你最近打开过其他目录下的Python文件,Spyder默认会自动把工作目录切换到那个文件的路径
  • 重启Spyder后,它可能回到了默认的启动目录(比如你的用户主文件夹)
  • 不小心修改了单脚本的运行配置,指定了其他工作目录

快速解决办法

1. 临时切换工作目录

  • 方法一:在Spyder界面右上角(IPython控制台上方),能看到当前的工作目录,点击旁边的文件夹图标,选择你的脚本和CSV所在的目录即可。
  • 方法二:在代码开头添加一行,强制切换到脚本所在目录(推荐,避免每次手动改):
import os
# 获取当前脚本所在的目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 切换工作目录
os.chdir(script_dir)
# 现在就可以用相对路径读取文件了
df = pd.read_csv("Results_Space_Type_Comparison.csv")

2. 设置永久默认工作目录

如果不想每次都手动调整,可以修改Spyder的全局设置:

  • 点击顶部菜单栏的 Tools -> Preferences
  • 在弹出的窗口中选择 Run 选项卡
  • 找到 Working directory 部分,选择 The directory of the file being executed
  • 点击 Apply 和 OK,以后每次运行脚本,Spyder都会自动切换到脚本所在的目录

3. 检查单脚本的运行配置

如果只有某个脚本出现这个问题,可能是单独设置了运行目录:

  • 右键你的脚本文件,选择 Run configuration per file
  • 在窗口中确认 Working directory 是不是设置成了脚本所在的路径,要是不对就改回来

额外排查点

如果上面的方法都没用,再检查下文件名:

  • 有没有隐形空格或特殊字符?比如文件名看起来是Results_Space_Type_Comparison.csv,实际末尾多了空格
  • 大小写问题?虽然Windows系统不区分大小写,但如果是在WSL或者其他类Unix环境下运行Spyder,大小写不匹配会报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:32:32