我试图让这段代码正常工作,但它不断出现标题中的错误。我不明白。功能" url"在" get_media"之前设置函数和相同的函数调用函数与我设置的其他函数一起工作,但它说不然。我已经查看了类似问题的答案,但我无法理解其中的任何一个,因为答案是围绕其复杂的代码设计的,并且它们没有提供关于其工作原理的正确解释。
def url(path):
if path.find("?") != -1:
pre = "&"
else:
pre = "?"
return protocol +"://" +host +base_path +path +pre +"access_token=" +access_token
def get_media(insta_id, max_id=None):
insta_id = str(insta_id)
path = url("/users/%s/media/recent/") # ERROR COMES UP HERE
if max_id is not None:
path = path +"&max_id=%s" % max_id
url = urllib.request.urlopen(path)
url = url.read().decode("utf-8")
url = json.loads(url)
return url
任何帮助表示赞赏。如果您需要更多代码,请告诉我。
乙
答案 0 :(得分:1)
稍后在函数中指定一个名为“url”的局部变量。因此,Python将对该函数中“url”的每个引用视为本地。但是当然你还没有定义那个局部变量,因此就是错误。
为本地“url”变量使用其他名称。 (无论如何,它永远不是一个URL,所以你绝对应该使用一个更好的名字。)