2017-01-13 5 views
-1

Итак, вот кусок кода внутри функции:Python: не могу понять эту ошибку синтаксиса

 print('Printing current values ...') 

     for key, modbusObject in jsonDict.items(): 
      print("Object {} contains value {} and timestamp {}".format(key, modbusObject.value, modbusObject.timestamp)) 

     print('Writing data for loop number '+str(i)+' ...') 

     # server.send_message_to_all(jsonDict) 
     #print('ho ho ho') 
     i += 1   

     cmd = raw_input('Change json data (y/n) ? --type \'exit\' to quit-- : ') 

Все это вложен в попробовать ... кроме заявления. Независимо от того, что я положил вместо i + = 1 -> для примера print («ho ho ho»), он отклоняется как «Синтаксис синтаксиса: недопустимый синтаксис».

Я застрял на этом в течение 2-х дней и не могу понять, что здесь происходит, которые вызывают эту ошибку ...

EDIT: более код, в соответствии с просьбой:

def new_client(client, server): 

print("New client connected and was given id %d" % client['id']) 
server.send_message_to_all('hello foo') 

# global jsonDict 
# global i 

while True: 

    print('Currently connected clients : ') 

    try: 
     for key, modbusObject in jsonDict.items(): 
      for case in switch(key): 
       if case("coil1000"): 
        if(i % 2 == 0): 
         modbusObject.value = 1 
        else: 
         modbusObject.value = 0 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("coil1001"): 
        if(i % 2 == 0): 
         modbusObject.value = 0 
        else: 
         modbusObject.value = 1 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("coil1002"): 
        if(i % 2 == 0): 
         modbusObject.value = 1 
        else: 
         modbusObject.value = 0 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("coil1008"): 
        if(i % 2 == 0): 
         modbusObject.value = 0 
        else: 
         modbusObject.value = 1 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("coil1009"): 
        if(i % 2 == 0): 
         modbusObject.value = 1 
        else: 
         modbusObject.value = 0 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("coil1010"): 
        if(i % 2 == 0): 
         modbusObject.value = 0 
        else: 
         modbusObject.value = 1 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("coil1011"): 
        if(i % 2 == 0): 
         modbusObject.value = 1 
        else: 
         modbusObject.value = 0 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("inh1000"): 
        if(i % 2 == 0): 
         modbusObject.value = 127 
        else: 
         modbusObject.value = 365 
        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("inh1001"): 
        if(i % 2 == 0): 
         modbusObject.value = 8350 
        else: 
         modbusObject.value = 4633 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("inh1002"): 
        if(i % 2 == 0): 
         modbusObject.value = 20 
        else: 
         modbusObject.value = 15 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("inh1003"): 
        if(i % 2 == 0): 
         modbusObject.value = 40 
        else: 
         modbusObject.value = 10 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("inh1025"): 
        if(i % 2 == 0): 
         modbusObject.value = 6 
        else: 
         modbusObject.value = 3 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("inh1034"): 
        if(i % 2 == 0): 
         modbusObject.value = 0 
        else: 
         modbusObject.value = 5 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break                                       
       if case("inh1035"): 
        if(i % 2 == 0): 
         modbusObject.value = 162 
        else: 
         modbusObject.value = 50 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("inh1036"): 
        if(i % 2 == 0): 
         modbusObject.value = 40 
        else: 
         modbusObject.value = 20 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("inh1037"): 
        if(i % 2 == 0): 
         modbusObject.value = 50 
        else: 
         modbusObject.value = 25 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break            
       if case("in1000"): 
        if(i % 2 == 0): 
         modbusObject.value = 0 
        else: 
         modbusObject.value = 50 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("in1001"): 
        if(i % 2 == 0): 
         modbusObject.value = 100 
        else: 
         modbusObject.value = 0 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("in1002"): 
        if(i % 2 == 0): 
         modbusObject.value = 40 
        else: 
         modbusObject.value = 37 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("in1014"): 
        if(i % 2 == 0): 
         modbusObject.value = 350 
        else: 
         modbusObject.value = 221 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("in1015"): 
        if(i % 2 == 0): 
         modbusObject.value = 200 
        else: 
         modbusObject.value = 16 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("in1018"): 
        if(i % 2 == 0): 
         modbusObject.value = 1000 
        else: 
         modbusObject.value = 1246 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break                    
       if case("in1021"): 
        if(i % 2 == 0): 
         modbusObject.value = 2000 
        else: 
         modbusObject.value = 1432 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("in1086"): 
        if(i % 2 == 0): 
         modbusObject.value = 0 
        else: 
         modbusObject.value = 1 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("in1094"): 
        if(i % 2 == 0): 
         modbusObject.value = 1 
        else: 
         modbusObject.value = 0 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("in1102"): 
        if(i % 2 == 0): 
         modbusObject.value = 3000 
        else: 
         modbusObject.value = 50 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
        break 
       if case("in1104"): 
        if(i % 2 == 0): 
         modbusObject.value = 100 
        else: 
         modbusObject.value = 3 

        modbusObject.timestamp = dumps(datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), default=json_serial) 
       if case(''): 
        pass 

     print('Printing current values ...') 

     for key, modbusObject in jsonDict.items(): 
      print("Object {} contains value {} and timestamp {}".format(key, modbusObject.value, modbusObject.timestamp)) 

     print('Writing data for loop number '+str(i)+' ...') 

     # server.send_message_to_all(jsonDict) 
     #print('ho ho ho') 
     i += 1   

     cmd = raw_input('Change json data (y/n) ? --type \'exit\' to quit-- : ') 

     if cmd != '':  
      if cmd.lower() == 'exit': 
       exit() 
      elif cmd.lower() == 'y': 
       i += 1 
      else: 
       pass 

    except Exception as e: 
     traceback.print_exc() 
    finally: 
     time.sleep(8) 

NB:

print("New client connected and was given id %d" % client['id']) 
server.send_message_to_all('hello foo') 

и

while True: 

блок правильно отступом, это просто следствие копирования/вставки, которого они не считают.

переключателя ... случай заменителя я использую из here

+1

Возможно смешение вкладок и пробелов, вызывающих невидимые ошибки отступов? – RemcoGerlich

+0

Можете ли вы опубликовать фактическую ошибку? Должно быть больше об этом сообщении об ошибке, например, номер строки и т. д. – hansaplast

+0

К сожалению, все идеально на месте. –

ответ

0

проблема была устранена после преобразования отступов в пространства. Спасибо за вашу помощь.

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

  • Нет связанных вопросов^_^