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

VSCode运行Python报FileNotFoundError[Errno 2]无法识别C盘路径问题

问题根因

这个报错和Python识别不了C盘没有任何关系,是代码存在3处明显逻辑错误,直接导致路径解析失效:

  • 代码中调用了os.listdir()和pd.read_csv(),但未提前导入os和pandas依赖库,正常运行时首先会抛出模块导入错误,如果运行时没触发这个报错,说明当前运行环境存在残留变量,环境本身就不干净。
  • 触发FileNotFoundError [Errno 2] 'No such file or directory: 'C''的核心原因:map()函数的第二个参数需要传入可迭代对象,你这里直接传入了path字符串本身。Python迭代字符串时会逐个拆分单个字符,第一个字符就是C,程序会默认在当前工作目录下寻找名为C的文件,自然会抛出找不到文件的错误。
  • os.listdir(path)的返回值只有路径下的文件/文件夹名称,不包含父级路径,如果你直接把返回的文件名传给pd.read_csv(),程序会在Python当前运行的工作目录下查找对应文件,而非C:\fMRI目录下,就算修正了前面的错误,这里依然会触发文件找不到的报错。
修正后可直接运行的代码
import os
import pandas as pd

file_list = []
target_dir = r'C:\fMRI'

# 先获取目录下所有csv文件的完整路径,过滤非csv文件避免报错
csv_full_paths = [
    os.path.join(target_dir, filename)
    for filename in os.listdir(target_dir)
    if filename.lower().endswith('.csv')
]

# 批量读取csv存入列表
file_list = list(
    map(lambda fpath: pd.read_csv(fpath, index_col=None, header=0), csv_full_paths)
)

print(file_list)
路径类问题排查实用技巧
  • 运行任何读文件的代码前,先执行print(os.getcwd())打印当前Python的工作目录,90%的路径报错都是因为VSCode默认打开的工作目录和你预期的不一致,导致相对路径解析完全错位。
  • 所有路径拼接统一用os.path.join(),不要手动写斜杠/反斜杠,这个方法会自动适配Windows、Mac、Linux的路径分隔符规则,避免转义字符问题。
  • 读文件前先做存在性校验:执行print(os.path.exists(你传入的文件完整路径)),如果返回False,直接打印你传入的完整路径字符串核对,不要靠主观判断路径正确。
  • 在VSCode中运行脚本前,先确认右上角选中的Python解释器是你安装了对应依赖(比如pandas)的环境,避免环境选错导致的各类奇怪报错。
  • Windows系统写路径有三种正确写法,不要写错转义:
    • 原始字符串写法:r'C:\fMRI'(推荐,最不容易出错)
    • 双反斜杠写法:'C:\\fMRI'
    • 正斜杠写法:'C:/fMRI'
      不要直接写单反斜杠不带r前缀,比如'C:\new_folder'里的\n会被识别成换行符,路径直接就错了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 14:24:18