首页 > 解决方案 > Python KeyError 使用随机

问题描述

我的程序进入一个站点,获取 json 文件,然后从一个键中输出一个随机值。

这就是我认为它会起作用的方式

import urllib.request
from urllib.request import Request
import json
import random

url = Request("https://splash.wtf/base.json", headers={'User-Agent': 'Mozilla/5.0'})
data = urllib.request.urlopen(url).read().decode()

serial = json.loads(data)

def generate():
    return "".join([random.choice(serial['hello']) for x in range(1)])

print(generate())

这是json文件

{
  "test": {
    "product1": "2",
    "product2": "3"
  }
}

现在引发了 KeyError,我在 stackoverflow 上看到有人说要更改我return的值, return "".join([random.choice(list(serial.keys())) for x in range(1)])但是这不允许我从我想要的值的树或键中选择。我过得怎么样?

标签: pythonpython-3.x

解决方案


推荐阅读