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

Mac系统VS Code中Python与Excel同文件夹仍报FileNotFoundError如何解决?

问题产生原因
  • 最核心的诱因是VS Code默认运行Python脚本时的工作目录≠脚本实际存储目录:你打开上级文件夹作为VS Code工作区时,运行脚本的默认工作目录是工作区根目录,不会自动切换到脚本所在的/Users/User/M/M1/DS project路径,相对路径'Test.xlsx'会从工作区根目录查找文件,自然找不到。
  • 次要排查点:
    • Mac访达默认隐藏已知文件类型后缀,你看到的Test.xlsx可能实际文件名为Test.xlsx.xlsx
    • 文件名大小写不匹配:如果你的磁盘分区开启了大小写敏感规则,test.xlsx和Test.xlsx会被识别为两个不同文件
    • 路径空格识别问题:你的存储路径包含空格DS project,手动写路径时如果没有正确转义也会触发报错
修复方案

步骤1:先确认工作目录是否匹配

在你的现有代码最开头添加两行代码,运行后查看输出的路径是否为/Users/User/M/M1/DS project:

import os
print("当前工作目录:", os.getcwd())

如果输出路径不匹配,按以下方案修复即可。

方案1:配置VS Code默认使用脚本所在目录作为工作目录

  1. 打开VS Code运行和调试面板,点击「创建launch.json文件」,选择Python环境
  2. 在配置项中添加"cwd": "${fileDirname}",示例配置如下:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: 当前文件",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "console": "integratedTerminal"
        }
    ]
}

保存后再运行脚本,相对路径就会从脚本所在目录开始查找。

方案2:使用动态绝对路径(无需修改VS Code配置,兼容性更强)

直接修改你的代码,通过__file__变量获取当前脚本的真实路径,拼接Excel文件路径,完全不受工作目录影响:

import pandas as pd
import os

# 动态拼接同目录下的Test.xlsx路径
current_script_dir = os.path.dirname(os.path.abspath(__file__))
excel_file_path = os.path.join(current_script_dir, 'Test.xlsx')
df = pd.read_excel(excel_file_path)

print(df.head(2))

方案3:排查文件名真实后缀

打开终端,执行以下命令进入存储目录,查看真实文件名:

cd /Users/User/M/M1/DS project
ls

根据输出的真实文件名调整代码里的文件名即可,避免被访达的隐藏后缀误导。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:48:01