2017-04-03 124 views
0

總共有一個新手如此裸露在我身邊,我正在嘗試更改腳本以適應我的需要。使用dict來運行函數並從函數中收集數據並將其放入一個變量

該腳本用於控制Husqarna Automower,他們只是改變了那裏的API。有了舊的API和舊的腳本,我有它的工作。我現在試圖讓新腳本像我的舊版一樣工作。

我正在使用Python 2.7,這是我失去了部分。

的這部分代碼是從commandpromt

運行時,它打印出的信息在打印我的得到這樣的結果

{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'} 

我的目標是獲得一些數據在變量,所以我改變了這部分到這

mow = API() 

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

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

print battery 

但這似乎似乎s到工作, 當我運行該腳本,它打印

'mowerInfo' 

而在此之後由腳本生成一些錯誤,所以看起來像mow.status從來沒有運行?

任何人都看到我錯了?

感謝名單馬丁

+1

我在字典中沒有看到任何'mowerInfo'作爲關鍵字,您在問題中提供了'mow.status()'返回的內容。你可以再檢查一次嗎? – bharadhwaj

回答

0

你正在尋找的信息是mow.status()主詞典中。因此,而不是做dic_info = dict(mow.status()['mowerInfo']),將其更改爲dic_info = mow.status(),並且您的代碼應該工作。

+0

Thanx,工作完美 – Gusten

相關問題