0
Ich habe den folgenden Code:Python-Funktion löscht meine Var?
def moveServo(x, y):
print x
print y
s1.ChangeDutyCycle(x)
s2.ChangeDutyCycle(y)
print "Successfull"
print x
print y
@app.route('/cameramove/', methods=['GET'])
def cameramove():
ret_data = True
x = request.args.get('x')
y = request.args.get('y')
moveServo(x, y)
return jsonify(ret_data)
Die Ausgabe lautet:
192.168.178.23 - - [02/Aug/2016 19:36:24] "GET /cameramove/?x=7.8&y=9.3 HTTP/1.1" 500 -
7.8
9.4
192.168.178.23 - - [02/Aug/2016 19:36:24] "GET /cameramove/?x=7.8&y=9.4 HTTP/1.1" 500 -
7.8
9.4
Sie sehen, dass die Funktion die Variablen zurückgesetzt. Aber wenn ich die Definition des var des ändern:
def moveServo(x, y):
print x
print y
s1.ChangeDutyCycle(x)
s2.ChangeDutyCycle(y)
print "Successfull"
print x
print y
@app.route('/cameramove/', methods=['GET'])
def cameramove():
ret_data = True
x = 5.6
y = 3.9
moveServo(x, y)
return jsonify(ret_data)
Der Ausgang:
192.168.178.23 - - [02/Aug/2016 19:40:44] "GET /cameramove/?x=6.8&y=9.1 HTTP/1.1" 500 -
5.6
3.9
Successfull
5.6
3.9
Ist es auf einmal arbeiten: O
Kann mir jemand helfen? Ich habe keine Ahnung, warum die Funktion die Variablen nicht akzeptieren würde.
Ein wenig mehr Kontext hier helfen kann .. z.B. Was macht der Dekorateur? Was ist in "Anfrage"? – norok2
Ihr Protokoll schlägt vor, dass der HTTP-Statuscode 500 ist, was "Serverfehler" bedeutet, und es gibt kein "erfolgreich" im ersten Protokoll - wahrscheinlich weil 'request.args.get ('x')' eine Zeichenfolge zurückgibt, die nicht funktioniert als Eingabe für 'ChangeDutyCycle' (nur Raten). Versuchen Sie 'request.args.get ('x')' mit 'float (request.args.get ('x'))' 'zu ersetzen. (Gleiches für y) – janbrohl