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:启动脚本时指定工作目录
若不想修改代码,可在启动脚本前先切换到脚本所在目录,再执行脚本:
- 打开命令提示符(CMD)
- 执行以下命令:
cd C:\Users\UserDirectory\OneDrive\Bureau\python python your_script_name.py
内容的提问来源于stack exchange,提问作者noGodHere
相关产品推荐
相关产品推荐

