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

Python项目文件存在却报FileNotFoundError问题求助

问题根源:相对路径的参照基准搞混了!

你遇到的问题本质是Python中相对路径的参照基准不是脚本文件所在的文件夹,而是你运行脚本时的「当前工作目录」(CWD)。举个例子:

  • 如果你的项目结构是这样的:
    项目根目录/
    ├── categories/
    │   └── abc.csv
    ├── merchants/
    │   └── 你的读文件脚本.py
    └── utils/
        └── 你的生成CSV脚本.py
    
  • 要是你进入merchants文件夹,直接运行python 你的读文件脚本.py,这时候Python的当前工作目录是merchants/,它会去merchants/categories/abc.csv找文件——但这个路径根本不存在,自然报错。
  • 同理,当你在utils文件夹里运行生成脚本时,Python会尝试在utils/categories/下创建abc.csv,但这个子文件夹不存在,所以也会抛出「找不到目录」的错误。
三种靠谱的解决方案

方案1:动态生成绝对路径(最推荐,不受运行位置影响)

利用Python的__file__变量获取脚本自身的路径,再拼接出CSV的正确路径。既可以用传统的os模块,也可以用更简洁的pathlib(Python3.4+支持):

用os模块实现(兼容所有Python3版本)

import os
import pandas as pd

# 获取当前脚本所在的绝对目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 跳到项目根目录(因为merchants/utils和categories是同级的,所以往上跳一级)
project_root = os.path.dirname(script_dir)
# 拼接CSV的完整路径
csv_full_path = os.path.join(project_root, 'categories', 'abc.csv')

# 读文件
rfile = pd.read_csv(csv_full_path)
# 写文件的话直接用这个路径就行
# pd.DataFrame(...).to_csv(csv_full_path, index=False)

用pathlib实现(更简洁直观)

from pathlib import Path
import pandas as pd

# 获取当前脚本的绝对路径
script_path = Path(__file__).resolve()
# 项目根目录 = 脚本所在文件夹的父目录
project_root = script_path.parent.parent
# 拼接CSV路径(pathlib支持/拼接,很方便)
csv_full_path = project_root / 'categories' / 'abc.csv'

# 读/写文件
rfile = pd.read_csv(csv_full_path)
# pd.DataFrame(...).to_csv(csv_full_path, index=False)

方案2:固定从项目根目录运行脚本

不管你的脚本在哪个文件夹,都回到项目根目录去运行它。比如:

# 假设你现在在项目根目录下
python merchants/你的读文件脚本.py
python utils/你的生成CSV脚本.py

这时候Python的当前工作目录就是项目根目录,'categories/abc.csv'这个相对路径就能正确指向目标文件,读写都不会报错。

方案3:提前创建categories目录(仅针对写文件的场景)

如果只是生成CSV时报错,也可以在写文件前先检查并创建categories目录(但这只能解决写的问题,读文件的路径问题还是得靠前两种方案):

import os
import pandas as pd

csv_path = 'categories/abc.csv'
# 先获取目录路径
dir_path = os.path.dirname(csv_path)
# 如果目录不存在就创建
if not os.path.exists(dir_path):
    os.makedirs(dir_path)
# 再写文件
pd.DataFrame(...).to_csv(csv_path, index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:37:27