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

运行Python代码出现No such file or directory报错是什么原因

代码错误排查与修复

直接触发报错的核心问题

  • 变量名拼写错误:你前面定义的路径存储变量是data_path,但最后读取CSV时使用了未定义的path变量拼接路径,导致生成的路径完全无效,这是FileNotFoundError的直接诱因。
  • 存储读取结果的belton变量未提前初始化,修复路径问题后还会抛出NameError。

潜在的其他错误(也会导致运行失败)

  • 跨平台兼容性问题:你通过os.system调用的mkdir、mv都是类Unix系统的shell命令,Windows系统下没有对应命令,会直接导致目录创建、文件移动操作失败,自然找不到目标文件。
  • 手动拼接路径不规范:不同系统的路径分隔符不一致(Windows为\、类Unix为/),手动拼接/容易在Windows下生成无效路径,应该使用os.path.join自动适配系统规则。
  • 空异常捕获会隐藏问题:你用try-except捕获所有异常后直接pass,如果目录因权限不足等原因创建失败,你无法感知到错误,后续操作都会连锁失败。

修复后可正常运行的代码

import os
import pandas as pd
import shutil

# 收集当前工作目录下所有csv文件
csv_files = [file for file in os.listdir(os.getcwd()) if file.endswith('.csv')]

dataset_dir = 'datasets3'
# 安全创建目录,目录已存在时自动跳过不会报错
os.makedirs(dataset_dir, exist_ok=True)

# 跨平台移动文件,不依赖系统shell命令
for csv in csv_files:
    shutil.move(csv, os.path.join(dataset_dir, csv))

# 提前初始化存储数据的字典
belton = {}
# 读取目标目录下的csv文件
for file in csv_files:
    # 自动适配系统的路径拼接
    full_file_path = os.path.join(os.getcwd(), dataset_dir, file)
    belton[file] = pd.read_csv(full_file_path)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 03:24:03