1

return json_run(url, data)在线上遇到语法错误,我不知道为什么。

from urllib.request import urlopen
from json import loads as json_loads
import time
from urllib.error import HTTPError
import random

def json_run(url, data) :
        s = url + data
        try:
                r = urlopen(s)
                o = json_loads(r.read().decode('utf8'))
                return o
        except HTTPError as err:
                if err == 504:
                        # Retry
                        time.sleep(random.randint(1, 10)
                        return json_run(url, data)
                else:
                        raise
4

1 回答 1

5

语法错误(通常是)在“违规”语句之前的行上:

time.sleep(random.randint(1, 10)

缺少右括号。由于括号之间有换行符是合法的,Python 只能注意到下一行的问题。

于 2013-05-01T08:16:08.280 回答