在Python中执行递归时出错
我使用下面的函数获取我们facebook社区中的所有群组。我将页面限制设置为20(n),以在一个页面中获取所有组,然后递归地转到下一个页面。但是在我们的社区里有将近1000个团体。在一个页面中有20页和25个组,我得到了接近500个组。如果我增加页面限制,递归会抛出一个“下一个指针无法处理”的错误 有人遇到过这种错误吗?你有没有采取措施来克服它?任何建议都很好在Python中执行递归时出错,python,recursion,Python,Recursion,我使用下面的函数获取我们facebook社区中的所有群组。我将页面限制设置为20(n),以在一个页面中获取所有组,然后递归地转到下一个页面。但是在我们的社区里有将近1000个团体。在一个页面中有20页和25个组,我得到了接近500个组。如果我增加页面限制,递归会抛出一个“下一个指针无法处理”的错误 有人遇到过这种错误吗?你有没有采取措施来克服它?任何建议都很好 TOKEN = "kjahfdsk1232415" def getGroups(n,groups,after=None):
TOKEN = "kjahfdsk1232415"
def getGroups(n,groups,after=None):
if n==20:
return groups
headers = {'Authorization': 'Bearer ' + TOKEN}
params = "?fields=feed.since(" + "1493658316" + ").limit(1),name,updated_time&"
params += "&limit=" + 10
if after:
#print (after)
params += "?limit=50&after=" + after
graph_url = GRAPH_URL_PREFIX + "community" + GROUPS_SUFFIX + params
result = requests.get(graph_url, headers=headers)
result_json = json.loads(result.text)
if "data" in result_json:
for group_obj in result_json["data"]:
groups.append(group_obj)
n = n + 1
if 'paging' in result_json:
getGroups(n,groups,after=result_json["paging"]["next"])
return groups
通过不使用递归而使用循环来克服这个问题。Python不知道尾部调用优化。+1表示使用循环,但如果您通过不使用递归而使用循环来克服这一点。Python不知道尾部调用优化。使用循环的注释是+1,但是如果