-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-- : ')
このすべては、try ... except文にネストされています。私がi + = 1 - >の代わりに置いたものがexemple print( 'ho ho ho')のために 'SyntaxError:invalid syntax'として拒否されます。
私は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
タブとスペースを混同して、目に見えない字下げエラーが発生することがありますか? – RemcoGerlich
実際のエラーを投稿することはできますか?たとえば、次のようなエラーメッセージが表示されます。行番号など – hansaplast
悲しいことに、すべてが完全に配置されています。 –