Python脚本跳过循环

时间:2019-02-02 22:54:40

标签: python json loops debugging

我正在尝试遍历一些json数据,但是在几页上找到了该信息。我在浏览第一页时没有问题,但是它只会跳过下一组。奇怪的是,在调试模式下它会正常执行。我猜测它的计时问题与JSON负载工作一段时间,但我试图把周围的代码睡眠定时器和问题依然存在。

url = apipath + query + apikey
response = requests.get(url)
data = json.loads(response.text)

for x in data["results"]:
    nameList.append(x["name"])
    latList.append(x["geometry"]["location"]["lat"])
    lonList.append(x["geometry"]["location"]["lng"])

pagetoken = "pagetoken=" + data["next_page_token"]
url = apipath + pagetoken + apikey
response = requests.get(url)
data = json.loads(response.text)
for x in data["results"]:
    nameList.append(x["name"])
    latList.append(x["geometry"]["location"]["lat"])
    lonList.append(x["geometry"]["location"]["lng"])

2 个答案:

答案 0 :(得分:0)

我敢猜测data["results"]等于一个None值,因此调用for x in None:将导致程序跳过for循环。您是否尝试过将打印内容置于for循环上方?也许在进入循环之前尝试print(data["results"]),以确保所需的数据存在。如果返回None,则可以尝试print(data),看看程序正在读取什么。

答案 1 :(得分:0)

它最终确实是一个计时问题。我在第二个请求之前放置了2秒的计时器,现在它将可以很好地加载数据。我想Python无法跟上。