2017-04-03 2 views
0

Totaler Anfänger so nackt mit mir, ich versuche, ein Skript so zu ändern, dass es meinen Bedürfnissen entspricht.Mit dict Funktion ausführen und Daten von der Funktion sammeln und in eine Variable setzen

Das Skript wird verwendet, um Husqarna Automower zu steuern, und sie haben nur ihre API geändert. Mit der alten API und dem alten Skript hatte ich es funktioniert. Ich versuche jetzt, das neue Skript als mein altes zu funktionieren.

Ich benutze Python 2.7, das ist der Teil, wo ich verloren bin.

Dieser Teil des Codes Drucken Sie die Informationen, wenn sie von commandpromt

ich das dieses Ergebnis in der

{u'storedTimestamp': 1491209355746L, u'lastLocations': [{u'latitude': 57.57327166666666, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047653333333333}, {u'latitude': 57.57335833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047641666666667}, {u'latitude': 57.57335166666667, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047656666666667}, {u'latitude': 57.57331833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047621666666666}, {u'latitude': 57.57334, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047621666666666}, {u'latitude': 57.57335166666667, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.04766}, {u'latitude': 57.573301666666666, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.04767}, {u'latitude': 57.57333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047643333333333}, {u'latitude': 57.57331333333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047635}, {u'latitude': 57.57328833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047595}, {u'latitude': 57.573303333333335, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047585}, {u'latitude': 57.573323333333335, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047551666666667}, {u'latitude': 57.57331833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047535}, {u'latitude': 57.57332, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047641666666667}, {u'latitude': 57.573328333333336, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047673333333334}, {u'latitude': 57.57330833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047685}, {u'latitude': 57.573296666666664, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.04769}, {u'latitude': 57.57332, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047696666666667}, {u'latitude': 57.57332, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047705}, {u'latitude': 57.573321666666665, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047621666666666}, {u'latitude': 57.57330666666667, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047618333333334}, {u'latitude': 57.57331, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047608333333333}, {u'latitude': 57.57334, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047611666666667}, {u'latitude': 57.57331833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047608333333333}, {u'latitude': 57.57333333333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047621666666666}, {u'latitude': 57.5733, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047588333333334}, {u'latitude': 57.57330666666667, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.0476}, {u'latitude': 57.573328333333336, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047613333333333}, {u'latitude': 57.573343333333334, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047641666666667}, {u'latitude': 57.57330833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047635}, {u'latitude': 57.57331, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047653333333333}, {u'latitude': 57.57330833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047693333333333}, {u'latitude': 57.573325, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047583333333334}, {u'latitude': 57.573298333333334, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047556666666667}, {u'latitude': 57.573325, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047563333333333}, {u'latitude': 57.573315, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047615}, {u'latitude': 57.57332, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047646666666667}, {u'latitude': 57.57333666666667, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047678333333334}, {u'latitude': 57.57333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047598333333333}, {u'latitude': 57.57333333333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047586666666668}, {u'latitude': 57.573341666666664, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047573333333334}, {u'latitude': 57.573295, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047615}, {u'latitude': 57.57326666666667, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047636666666667}, {u'latitude': 57.57326666666667, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047618333333334}, {u'latitude': 57.573343333333334, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047796666666667}, {u'latitude': 57.57329166666667, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.04763}, {u'latitude': 57.573303333333335, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047616666666666}, {u'latitude': 57.57331833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047618333333334}, {u'latitude': 57.57331, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047631666666666}, {u'latitude': 57.57326333333334, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047618333333334}], u'operatingMode': u'AUTO', u'showAsDisconnected': False, u'valueFound': True, u'lastErrorCode': 0, u'lastErrorCodeTimestamp': 0, u'nextStartTimestamp': 1491350400, u'batteryPercent': 100, u'connected': True, u'mowerStatus': u'PARKED_TIMER', u'nextStartSource': u'WEEK_TIMER', u'cachedSettingsUUID': u'070b3f55-ca32-4b09-8af5-2ed49365f643'} 

Mein Ziel

Druck bekommen läuft ein Teil der Daten zu erhalten in zu Variablen, so änderte ich diesen Teil zu diesem

mow = API() 

mow.login("[email protected]", "mypassword") 

dic_info = dict(mow.status()['mowerInfo']) 
battery = dic_info.get('batteryPercent') 

print battery 

Aber diese Doesent scheinen s zu arbeiten, wenn ich das Skript ausgeführt druckt

'mowerInfo' 

Und danach einige Fehler, die durch das Skript generiert, so dass es wie die mow.status scheint nie läuft bekommen?

Wer sah, war ich falsch?

Thanx Martin

+1

Ich sehe keinen 'mowerInfo' als Schlüssel im Wörterbuch, Sie haben in der Frage angegeben, welche 'mow.status()' zurückgegeben wurde. Könnten Sie das bitte noch einmal überprüfen? – bharadhwaj

Antwort

0

Die Informationen, die Sie suchen sind im Hauptwörterbuch ist in mow.status(). Anstatt dic_info = dict(mow.status()['mowerInfo']) zu ändern, ändern Sie es in dic_info = mow.status(), und Ihr Code sollte funktionieren.

+0

Danke, hat perfekt funktioniert – Gusten

Verwandte Themen