Python - TypeError:字符串索引必须是整数 - Instagram机器人
问题描述:
我正在使用自动喜欢图片和关注人物的instagram机器人。我很难让JSON正常工作。这里是Python:Python - TypeError:字符串索引必须是整数 - Instagram机器人
# Make a list of users who are currently being followed, or have been followed before
already_followed = []
for tile in tiles['present']:
already_followed.append(tile['user_id'])
for tile in tiles['past']:
already_followed.append(tile['user_id'])
这是我的JSON文件:
{
"present": {
"user": {}
},
"past": {
"user": {}
}
}
这是错误:
File "Instagram-bot.py", line 95, in <module>
already_followed.append(tile['user_id'])
TypeError: string indices must be integers
如果你们有什么事,让我知道!
答
是,tile
是字符串类型,即来自tiles['present']
字典的关键字。
尝试在代码中打印变量tile
的type
。 例如
>>> a = 123
>>> type(a)
<type 'int'>
>>> a = "123"
>>> type(a)
<type 'str'>
>>>
示例代码:
tiles = {
"present": {
"user": {"user_id": 123}
},
"past": {
"user": {"user_id": 456}
}
}
already_followed = []
for tile in tiles['present']:
already_followed.append(tiles['present'][tile]['user_id'])
for tile in tiles['past']:
already_followed.append(tiles['past'][tile]['user_id'])
print "already_followed:-", already_followed
输出:
[email protected]:~/Desktop/*$ python 5.py
already_followed:- [123, 456]
你有解决方案吗? – 2015-02-07 05:04:59