Ich habe diese Funktion in meinem Python-Programm:Python Syntaxerror: (" 'return' mit dem Argument innerhalb Generator")
@tornado.gen.engine
def check_status_changes(netid, sensid):
como_url = "".join(['http://131.114.52:44444/ztc?netid=', str(netid), '&sensid=', str(sensid), '&start=-5s&end=-1s'])
http_client = AsyncHTTPClient()
response = yield tornado.gen.Task(http_client.fetch, como_url)
if response.error:
self.error("Error while retrieving the status")
self.finish()
return error
for line in response.body.split("\n"):
if line != "":
#net = int(line.split(" ")[1])
#sens = int(line.split(" ")[2])
#stype = int(line.split(" ")[3])
value = int(line.split(" ")[4])
print value
return value
Ich weiß, dass
for line in response.body.split
ein Generator ist. Aber ich würde die value-Variable an den Handler zurückgeben, der die Funktion aufgerufen hat. Das ist möglich? Wie kann ich?
'Ausbeutewert'. – katrielalex
Bereits versucht .. aber ich bekomme den gleichen Fehler ... Ich denke, es ist unmöglich, eine Rückkehr in einen Generator zu setzen ... – sharkbait
Die 'for' Schleife ist kein Generator; Die ganze Funktion ist, weil Sie eine 'Yield'-Anweisung darin haben. – geoffspear