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

Mac下VSCode运行Python代码提示目录不存在,但PyCharm可正常运行

解决VSCode中Python脚本路径找不到文件的问题

问题根源

VSCode运行Python脚本时的工作目录和PyCharm默认行为不同:PyCharm默认将脚本所在的父目录设为工作目录,而VSCode默认可能使用打开的文件夹根目录或脚本所在目录,导致相对路径解析错误。VSCode的Jupyter Notebook则默认以notebook所在目录为工作目录,所以能正常找到文件。

具体解决方法

1. 先确认当前工作目录

在脚本开头添加代码,打印当前工作目录,验证路径问题:

import os
print(os.getcwd())

对比输出路径与data目录的实际位置,就能明确路径解析错误的原因。

2. 最可靠的方案:动态构建绝对路径

不依赖工作目录,直接从脚本自身位置出发构建文件路径,适配任何运行环境:

import os
import numpy as np

# 获取脚本的绝对路径所在目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 跳转到脚本的父目录(与data同层级的目录)
parent_dir = os.path.dirname(script_dir)
# 拼接目标文件路径
weights_path = os.path.join(parent_dir, "data", "connectivity", "weights.txt")
# 读取文件
weights = np.loadtxt(weights_path)

3. 修改VSCode运行配置的工作目录

通过launch.json指定运行脚本时的工作目录:

  • 按F5运行脚本,若没有launch.json,选择"创建launch.json文件",选"Python"环境
  • 在configurations数组中,添加或修改cwd字段:
    • 如果项目根目录就是data和脚本的父目录,设为:
      "cwd": "${workspaceFolder}"
      
    • 如果脚本在子目录(如src/script.py),要指向父目录:
      "cwd": "${fileDirname}/.."
      
  • 保存后重新运行脚本即可。

4. 终端运行时手动切换工作目录

如果用VSCode内置终端运行脚本,先切换到data所在的父目录,再执行脚本:

cd /path/to/your-project-root
python src/your_script.py

为什么之前的尝试无效?

  • 手动写的绝对路径如果是固定本地路径,换环境会失效;若基于工作目录转绝对路径,还是受工作目录影响,无法根本解决。
  • 添加__init__.py是为了将目录标记为Python包,和文件系统路径解析无关,因此对路径问题无帮助。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 11:05:22