条件上的Python语法无效

时间:2017-04-06 12:23:40

标签: python-2.7

我在这里有这个python代码:

def location(location_id, max_id=None):
        # Send http request to find location
        if (self.login_status):
            get_location = {'location_id': location_id}
            url_location_detail = self.url_location_detail % (location_id)
        try:
            get_location_id = self.i.get(url_location_detail, data=body)
            if location.status_code == 200:
               log_string = "Get location id: %d" % (location_id)
               self.write_log(log_string)

        if max_id is not None: payload['max_id'] = max_id
            try:
                res = requests.get(url, params=payload).json()
                body   = res['location']
                cursor = res['location']['media']['page_info']['end_cursor']
            except: raise
            return InstagramExploreResponse(data=body, cursor=cursor)

当我运行程序时,它会引发以下错误:

SyntaxError: invalid syntax

错误似乎出现在第447行,如下所示:

if max_id is not None: payload['max_id'] = max_id

奇怪的是代码之前正在工作,我在这行之前添加了一些代码,所以我认为错误来自前一行。

不幸的是,我无法看到它。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在此处找到所需内容:Putting a simple if-then statement on one line

他们已经解释了为什么会出现此错误以及解决问题的方法

在这里更清楚,你不能把if里面的内容放在python中if的前面。这样:

if max_id is not None: payload['max_id'] = max_id

成为这个:

if max_id is not None:
    payload['max_id'] = max_id