2016-01-23 5 views
-9

Я новичок в Python, и я пытаюсь понять какой-то код. В приведенном ниже коде есть синтаксическая ошибка, но я действительно не знаю, что.Синтаксическая ошибка Python в идентификации?

def parse(data): 
print(data) 

def get_set(json_url): 
url = json_url 
response = urllib.urlopen(url) 
data = json.loads(response.read()) 

s_code = '0' 

print data 
s_code = data["statusCode"] 
print s_code 

    seconds_waiting = 10 
     if s_code == 200: 
    url = json_url 
       response = urllib.urlopen(url) 
       data = json.loads(response.read()) 

      parse(data) 
elif s_code != 200: 

    print "waiting " + str(seconds_waiting) + " second(s)..." 
       time.sleep(seconds_waiting) 
      get_set(json_url) 

get_set(json_url): 
+3

Там тонны ошибки, в чем вопрос? – timgeb

+3

Вопрос здесь бессмыслен; ответ очевиден, * [прочитайте официальный учебник Python] (https://docs.python.org/3/tutorial/index.html) *. –

+0

Какие ошибки есть? –

ответ

3

Исправленная (?):

def parse(data): 
    print(data) 

def get_set(json_url): 
    url = json_url 
    response = urllib.urlopen(url) 
    data = json.loads(response.read()) 

    s_code = '0' 

    print data 
    s_code = data["statusCode"] 
    print s_code 

    seconds_waiting = 10 
    if s_code == 200: 
     url = json_url 
     response = urllib.urlopen(url) 
     data = json.loads(response.read()) 
     parse(data) 
    elif s_code != 200: 
     print "waiting " + str(seconds_waiting) + " second(s)..." 
     time.sleep(seconds_waiting) 
     get_set(json_url) 

отступов является одним из основных элементов/требований в Python. Если вышеуказанный код был в классе, его нужно будет отменить еще раз. Но, как указано в комментариях, пожалуйста, read the official tutorial (снова).

5

Большинство вопросов, где только код был неправильно отформатированных (Отступ используется для определения тела методов и условных операторов внутри Python)

Вот код

def parse(data): 
    print(data) 


def get_set(json_url): 
    url = json_url 
    response = urllib.urlopen(url) 
    data = json.loads(response.read()) 

    s_code = '0' 

    print data 
    s_code = data["statusCode"] 
    print s_code 

    seconds_waiting = 10 
    if s_code == 200: 
     url = json_url 
     response = urllib.urlopen(url) 
     data = json.loads(response.read()) 

     parse(data) 
    elif s_code != 200: 
     print "waiting " + str(seconds_waiting) + " second(s)..." 
     time.sleep(seconds_waiting) 
     get_set(json_url) 
+1

Этот ответ был опубликован прямо перед моим, я не видел другого ответа при публикации. – bwfcwalshy

+0

Упрощенный и ваш. – Jan

+0

Функция get set не должна быть отступом? –

3

Как там было много ошибок с отступом, я предлагаю вам одно из возможных решений:

def parse(data): 
    print(data) 

def get_set(json_url): 
    url = json_url 
    response = urllib.urlopen(url) 
    data = json.loads(response.read()) 
    s_code = '0' 
    print data 
    s_code = data["statusCode"] 
    print s_code 
    seconds_waiting = 10 
    if s_code == 200: 
     url = json_url 
     response = urllib.urlopen(url) 
     data = json.loads(response.read()) 
     parse(data) 
    elif s_code != 200: 
     print "waiting " + str(seconds_waiting) + " second(s)..." 
     time.sleep(seconds_waiting) 
     get_set(json_url) 

PS Я не проверял логику программы (фиксированный только отступ)

Смежные вопросы