Python如何使用os模块获取另一文件夹下的文件路径
项目场景说明
目录结构
project main_folder file.py json_files_folder one.json two.json three.json
问题描述
运行main_folder下的file.py时,需要读取json_files_folder下的json文件,现有代码拼接的路径无法定位到目标json文件,需要修改路径相关逻辑。
修改方案
现有代码中file_path拿到的是file.py所在的main_folder的绝对路径,需要先退到上级的project根目录,再拼接json_files_folder和目标文件名即可,同时推荐用os.path.join拼接路径,避免不同操作系统斜杠规则不同导致的兼容问题。
修改后的完整代码如下:
import json import os def read_json(): try: # 获取file.py所在的main_folder路径 main_folder_path = os.path.dirname(os.path.realpath(__file__)) # 退到上级project根目录 project_root_path = os.path.dirname(main_folder_path) # 拼接得到目标json文件路径 filename = os.path.join(project_root_path, 'json_files_folder', 'one.json') with open(filename) as file: data = json.load(file) return data except Exception: return "error"
关键修改说明
- 新增
os.path.dirname(main_folder_path)获取项目根目录,解决路径层级不对的问题 - 用
os.path.join替代手动拼接斜杠,适配Windows、Linux等不同系统的路径规则
内容的提问来源于stack exchange,提问作者kannappan
相关产品推荐
相关产品推荐

