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

Python调用Hypixel API遇FileNotFoundError:找不到API_KEY.json文件

解决Python读取API_KEY.json时的FileNotFoundError问题

我编写了一段用于获取Hypixel API信息的Python代码,基础功能完成后运行时提示找不到指定文件,相关信息如下:

代码

#Imports
import requests
import json
from pprint import pprint

#Functions
def get_info(call):
    r = requests.get(call)
    return r.json()

#Variables
API_FILE = open("API_KEY.json","r")
API_KEY = json.loads(API_FILE.read())["API_KEY"]

#Code
print(API_KEY)

API_KEY.json文件内容

{
    "API_KEY": "xxx-xxx-xx-xx-xx-x-xx"
}

错误信息

Traceback (most recent call last):
  File "d:\\Python\\Microsoft VS Code\\Codes\\Projects\\MineCraft\\skyblock_utils.py", line 12, in <module>
    API_FILE = open("API_KEY.json","r")
FileNotFoundError: [Errno 2] No such file or directory: 'API_KEY.json'

问题原因

  • 相对路径匹配错误:使用相对路径时,Python会在当前运行脚本的工作目录查找文件,而非脚本所在目录。如果VS Code的工作目录不是脚本所在的d:\\Python\\Microsoft VS Code\\Codes\\Projects\\MineCraft\\,就会找不到文件。
  • 文件名或位置错误:JSON文件可能没和脚本放在同一文件夹,或者文件名拼写错误(比如多了空格、后缀被隐藏成API_KEY.json.txt)。

解决方案

1. 使用绝对路径(推荐用动态拼接避免硬编码)

通过os模块获取脚本所在目录,自动拼接JSON文件路径:

import os
import requests
import json
from pprint import pprint

def get_info(call):
    r = requests.get(call)
    return r.json()

# 获取脚本所在目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 拼接JSON文件路径
api_file_path = os.path.join(script_dir, "API_KEY.json")

API_FILE = open(api_file_path, "r")
API_KEY = json.loads(API_FILE.read())["API_KEY"]

print(API_KEY)

也可以直接写死绝对路径:

API_FILE = open("d:\\Python\\Microsoft VS Code\\Codes\\Projects\\MineCraft\\API_KEY.json","r")

2. 修正VS Code工作目录

  • 打开脚本所在的MineCraft文件夹作为VS Code工作区
  • 或在运行配置中设置cwd为脚本所在目录

3. 检查文件状态

  • 确认API_KEY.json和skyblock_utils.py在同一文件夹内
  • 右键查看JSON文件属性,确保文件名正确,没有隐藏的后缀(比如.txt)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 07:35:29