2013-05-01 171 views
0

我收到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

的语法错误的是(因为它通常是)对之前“攻击”语句行:

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

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