mhmbox
Profilo di
Nome | mhmbox |
---|---|
Indirizzo email | n/a |
Messaggi | 2 |
-
- 2016-03-14 09:03:14
- Re: For In
- Forum >> Principianti
def enum(**enums): return type('Enum', (), enums)Status = enum(ERR=['ERROR', 'Fail'], OK=['OK', 'ready', 'no change','SEND OK'], BUSY='busy', LINK='Link')
...
def process_request(response): has_link = False cid = '0' while( ser.inWaiting() ): ret = ser.readline().strip( "\r\n" ) # print ret if (ret in Status.LINK): has_link = True ipd_str = '+IPD,' if (ipd_str in ret): cid = ret[ret.find(ipd_str) + len(ipd_str)] if has_link: # process response send_response(response, cid)
Ok grazie per la dritta credo di esserci finalmente riuscito.
Spiegazione chiarissima ed è anche intuitiva la risposta ma non capisco perchè la condizione risulta vera anche per ret="" in if (ret in Status.LINK):
Il codice proviene da un progetto github per il famoso ESP8266
--- Ultima modifica di mhmbox in data 2016-03-14 09:44:57 ---
--- Ultima modifica di mhmbox in data 2016-03-14 09:56:26 ---
-
- 2016-03-11 11:57:40
- For In
- Forum >> Principianti
- Salve a tutti non riesco a capire questo passaggio, ovvero l'utilizzo di if e in if. accade che la condizione è vera anche se ret = "" preso dal seguente codice:
8)]def enum(**enums):
8)]return type('Enum', (), enums)Status = enum(ERR=['ERROR', 'Fail'], OK=['OK', 'ready', 'no change', 'SEND OK'], BUSY='busy', LINK='Link')....while ser.inWaiting():
ret = ser.readline().strip("\r\n")
print str(ret)
if (ret in Status.LINK):
has_link = True
ipd_str = '+IPD,'
if ipd_str in ret:
cid = ret[ret.find(ipd_str) + len(ipd_str)8)] 8)]if8)] has_link: send_response(response, cid)
Qualcuno ha idea del perchè? e di come funzioa il if-in?Grazie
--- Ultima modifica di mhmbox in data 2016-03-11 11:58:10 ---
--- Ultima modifica di mhmbox in data 2016-03-14 08:43:15 ---