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

Python模块内如何通过相对路径访问DATA文件夹?

正确获取DATA文件夹路径的方法

你的问题出在没有基于脚本文件的实际位置来定位路径,下面是具体解决办法:

错误原因分析

  • 第一种写法Path('..').parents[2]依赖当前工作目录(即你执行脚本时所在的目录),而非脚本文件本身的存放目录,一旦运行位置改变,路径就会失效。
  • 第二种写法Path('__file__').parents[2]是把字符串'__file__'当作路径名,没有引用Python内置的__file__变量,自然找不到正确的父目录。

正确实现代码

利用__file__变量获取当前脚本的绝对路径,再向上定位到项目根目录,最后拼接DATA文件夹路径:

from pathlib import Path

# 获取当前脚本的绝对路径,resolve()处理软链接等特殊情况
current_script = Path(__file__).resolve()
# 从src/phonebook/book.py向上遍历2级到达项目根目录
project_root = current_script.parents[2]
CSV_USERS_PATH = project_root / "DATA"

# 可选:打印路径验证是否正确
print(CSV_USERS_PATH)

如果担心数层级容易出错,也可以用更直观的逐级获取方式:

from pathlib import Path

current_script = Path(__file__).resolve()
phonebook_dir = current_script.parent  # 指向src/phonebook
src_dir = phonebook_dir.parent         # 指向src
project_root = src_dir.parent          # 指向项目根目录
CSV_USERS_PATH = project_root / "DATA"

这样无论你在哪个目录下运行脚本,都能正确定位到DATA文件夹。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 07:21:35