这是我的代码:
from googlemaps import Client as GoogleMaps
mapServices = GoogleMaps('')
start = 'texarkana'
end = 'atlanta'
direction = mapServices.directions(start, end)
for step in direction['Direction']['Routes'][0]['Steps']:
print(step['descriptionHtml'])
我收到以下错误:
File "C:\Python27\directions.py", line 7, in <module>
for step in direction['Direction']['Routes'][0]['Steps']:
TypeError: list indices must be integers, not str
答案 0 :(得分:-1)
我无法帮助您直接查明错误,因为我没有自己试用的API密钥。但是,我可以给你一些你可以尝试并考虑找到问题根源的东西。
似乎你的for循环(for step in direction['Direction']['Routes'][0]['Steps']:
)中的一个索引应该是一个整数。
您可以尝试找出使用内置type()
功能的内容。所以要调试,我会尝试:type(direction)
,然后是type(direction['Direction'])
,依此类推direction['Direction']['Routes']
,因为它已经是一个列表了。
我建议您使用交互式python解释器。您要查找的是当您输入代码时(例如type(direction)
),您获得type<'list'>
。
在找出哪个是罪魁祸首后,也许你可以索引它并找到你想要的那个或阅读Google Docs。