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

Python读写文件路径异常求助:无法读取同目录文件

解决Python文件读写路径不匹配问题

问题根源

你遇到的问题核心是Python脚本的当前工作目录并非脚本所在的C:\Users\UserDirectory\OneDrive\Bureau\python,而是默认的用户主目录C:\Users\UserDirectory。当使用相对路径(如'test.txt')时,Python会在当前工作目录下查找或创建文件,这就导致了读取文件失败、写入路径不符的情况。

可行解决方法

方法1:构造脚本目录的绝对路径

利用__file__变量获取脚本的绝对路径,再拼接目标文件名,确保无论从哪个路径启动脚本,都能精准定位文件:

import os

# 获取脚本所在目录的绝对路径
script_dir = os.path.dirname(os.path.abspath(__file__))
# 拼接test.txt的完整路径
filename = os.path.join(script_dir, 'test.txt')

with open(filename, 'r') as f:
    lines = f.read()

写入文件时复用该逻辑,就能将文件保存到脚本所在目录。

方法2:切换当前工作目录到脚本路径

在脚本开头添加切换工作目录的代码,后续所有相对路径都会基于脚本所在目录生效:

import os

# 获取脚本所在目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 切换工作目录
os.chdir(script_dir)

# 后续直接使用相对路径即可
filename = 'test.txt'
with open(filename, 'r') as f:
    lines = f.read()

方法3:启动脚本时指定工作目录

若不想修改代码,可在启动脚本前先切换到脚本所在目录,再执行脚本:

  1. 打开命令提示符(CMD)
  2. 执行以下命令:
cd C:\Users\UserDirectory\OneDrive\Bureau\python
python your_script_name.py

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 19:07:39