Python脚本读取上级目录JSON文件报错:找不到文件或目录
解决相对路径找不到JSON文件的问题
你遇到的No such file or directory错误,核心原因是相对路径是基于程序运行时的当前工作目录,而不是你的excelTest.py文件所在的目录。比如:如果在/Documents/Coding projects/pwdemo目录下直接运行脚本,../会指向/Documents/Coding projects,自然找不到目标JSON文件;只有在脚本所在的pwdemo子目录下运行时,../才会指向正确的上级目录。
给你两种实用的解决方法:
方法一:切换到脚本所在目录再运行
打开终端,先进入excelTest.py所在的目录:cd /Documents/Coding projects/pwdemo/pwdemo再执行脚本:
python excelTest.py此时
../original.json就能正确定位到上级目录的文件。方法二:用脚本绝对路径构造目标文件路径(更可靠)
这种方法不受运行目录影响,直接通过脚本文件的位置计算JSON文件路径,修改代码如下:import os import json # 获取当前脚本的绝对目录 script_dir = os.path.dirname(os.path.abspath(__file__)) # 构造上级目录中JSON文件的绝对路径 json_file_path = os.path.abspath(os.path.join(script_dir, "../original.json")) with open(json_file_path, 'r') as json_file: json_data = json.load(json_file)os.path.abspath会自动处理路径层级,避免相对路径解析错误。
内容的提问来源于stack exchange,提问作者Soffamumie
相关产品推荐
相关产品推荐

