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

Python中如何从父目录打开文本文件?(含目录结构及报错情况)

解决跨目录读取文件的路径错误问题

问题原因

你写的相对路径../Documents/hello.txt是基于程序运行时的当前工作目录,而不是second.py脚本本身所在的目录。比如你从Project目录运行main.py时,当前工作目录是Project,这时候../会指向Project的父目录,自然找不到目标文件。

解决方案

方法一:基于脚本目录构建绝对路径(推荐)

用Python内置的os模块,通过__file__获取当前脚本的绝对路径,再拼接目标文件的路径,这样不管在哪里运行程序都能稳定找到文件:

import os

# 获取second.py所在的绝对目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 拼接hello.txt的路径:从Modules目录回退到Source,再进入Documents
file_path = os.path.join(script_dir, '..', 'Documents', 'hello.txt')

# 用with语句安全打开文件
with open(file_path, 'r') as file:
    content = file.read()

os.path.join会自动根据系统适配路径分隔符(Windows用\,Linux/macOS用/),避免手动写斜杠的兼容性问题。

方法二:直接使用固定绝对路径(临时应急)

如果只是临时测试,可以直接写文件的完整绝对路径,比如:

file = open('/你的项目绝对路径/Project/Source/Documents/hello.txt', 'r')

但这种方法换环境就会失效,不推荐在正式代码中使用。


内容的提问来源于stack exchange,提问作者Zer0 - Official

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 02:50:26