“TypeError:[foo]对象不可调用”是什么意思?

时间:2016-10-11 16:06:19

标签: python

我正在尝试迭代Facebook postID列表,我收到以下错误:

TypeError:'list'对象不可调用

这是我的代码:

MCTOT_postIDs = [["126693553344_10155053097028345"],
["126693553344_10155050947628345"],
["126693553344_10155048566893345"],
["126693553344_10155044677673345"],
["126693553344_10155042089618345"],
["126693553344_10155035937853345"],
["126693553344_10155023046098345"]]

g = facebook.GraphAPI()
g.access_token = g.get_app_access_token(APP_ID, APP_SECRET)

for x in MCTOT_postIDs():
g.get_object('fields="message, likes, shares')

我知道我在某个地方犯了一个基本错误,但我似乎无法弄明白。谢谢!

1 个答案:

答案 0 :(得分:4)

编辑: 对于另一个错误,函数g.get_object(...)需要一个您没有传递的参数。 你传递的是字段,但是你也必须传递一个ID作为参数,你必须传递包含id的循环的x。

可能应该像:

g.get_object('fields="message, likes, shares', x)

或者

g.get_object('fields="message, likes, shares', x[0]) 

如果您需要将其作为字符串传递,而不是数组(您的列表是数组列表) 但这应该是一个新问题的主题......

错误消息显示:

TypeError: 'list' object is not callable

再看看你的代码:当你尝试执行for ... in循环时,你试图调用你的列表,好像它是一个函数。

你正在做

for x in MCTOT_postIDs():

当你应该做的时候

for x in MCTOT_postIDs:

列表不可调用,()用于调用函数(意思是:执行函数)。删除它,它应该工作。