如何引用当前文件所在文件夹外的文件?使用src路径无效
跨文件夹文件引用失败的解决方法
你用相对路径src/data/beemovie.txt无法引用外部文件,核心问题是Python解析文件路径时,默认以当前运行脚本的工作目录为基准,而非脚本文件本身的存放位置。以下是几种可行的解决办法:
直接使用绝对路径
直接写出文件的完整绝对路径,比如:f = open('/home/yourname/project/src/data/beemovie.txt','r') txt = f.readlines() print(txt) f.close()注意:换运行环境后需要手动修改路径。
基于脚本位置构造绝对路径(推荐)
利用__file__变量获取当前脚本的绝对路径,再拼接目标文件路径,适配不同环境:import os # 获取当前脚本所在文件夹的绝对路径 script_folder = os.path.dirname(os.path.abspath(__file__)) # 拼接目标文件路径(根据实际目录层级调整../的数量) target_path = os.path.join(script_folder, '../src/data/beemovie.txt') # 规范化路径,自动处理../这类相对符号 target_path = os.path.normpath(target_path) with open(target_path,'r') as f: txt = f.readlines() print(txt)这里改用
with语句,无需手动关闭文件,更安全。切换工作目录
先切换到目标文件所在的父目录,再用相对路径访问:import os # 切换工作目录到src的上级目录(根据实际层级调整) os.chdir('../') with open('src/data/beemovie.txt','r') as f: txt = f.readlines() print(txt)
内容的提问来源于stack exchange,提问作者deadinside
相关产品推荐
相关产品推荐

