Python 跟踪列表索引必须是str

Python 跟踪列表索引必须是str,python,Python,好的,我正在尝试在追踪器中获取人员和时间戳,但我一直收到以下错误: list indices must be integer, not str 这是获取该错误的代码: elif used_prefix and cmd == "tracker" and self.getAccess(user) >= 1: try: if len(args) == 0: name = user.name.lower() elif len(args) > 0:

好的,我正在尝试在追踪器中获取人员和时间戳,但我一直收到以下错误:

list indices must be integer, not str
这是获取该错误的代码:

elif used_prefix and cmd == "tracker" and self.getAccess(user) >= 1:
   try:
     if len(args) == 0:
        name = user.name.lower()
    elif len(args) > 0:
        name = args.lower()
    f = urlreq.urlopen("http://chtracker.info/index.py?output=json&x=page&y={}".format(name))
    data = json.loads(f.readall().decode("utf-8"))['viewer'][:10]
    t = "{}, the last 10 people who visited {}'s profile are: ".format(name.title(), name.title())
    viewers = [(item['viewer'], item['timestamp']) for item in data]
    for l in viewers:
       viewer, timest = l
       t += "{} about {} ago".format(viewer, stamp.getTimeStamp((timest)))
   room.message(t, True)
except:
   print(traceback.format_exc())
   room.message((str(sys.exc_info()[1])))
错误发生在这一行:

data = json.loads(f.readall().decode('utf-8'))['viewer'][:10]
url内是具有相同标记“查看器”和“时间戳”的词典,例如:

http://chtracker.info/index.py?output=json&x=page&y=mechabot
json.load(…)
正在返回一个
列表
,因此当您执行此操作时:

json.loads(...)['viewer']
您试图使用无效的索引
'viewer'
访问
列表


您可以通过打印
json.loads(f.readall().decode(“utf-8”))
来实现这一点,这样您就可以找到访问它的值的正确方法。

好的,我修复了这个问题,但是现在我得到了一个无效的int()文本,以10为基数:您可以发布
数据的值吗?似乎您试图强制转换为
int
一个无效值。@user3103923不要编辑以更改问题。问一个新的,或者只是问基督徒这个问题。把原来的问题留在那里。我把问题恢复到原来的问题上,因为这显然是一个实质性的改变,使现有的答案无效。