2017-04-03 10 views
0

Totaly初心者で私と一緒に裸で、スクリプトを変更して自分のニーズに合うようにしようとしています。dictを使って関数を実行し、関数からデータを収集して変数に入れよう

スクリプトはHusqarna Automowerを制御するために使用され、APIを変更しました。古いAPIと古いスクリプトを使用していました。私は今、新しいスクリプトを私の古いものとして働かそうとしています。

私はPython 2.7を使用していますが、これは私が紛失した部分です。

commandpromt

からそれを実行するときにこのコードの一部は、情報を印刷しているIプリントで、この結果を得る

{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 

仕事をするの、 私は、スクリプトを実行すると、それは

'mowerInfo' 

、スクリプトによって生成されるいくつかのエラーの後を印刷し、そのmow.statusは実行を取得することはありませんように思えますか?

誰かが私が間違っていましたか?

ありがとうマーティン

+1

辞書にキーとして 'mowerInfo'が表示されていないので、あなたは' mow.status() 'が返す質問に答えを返しました。もう一度それを確認していただけますか? – bharadhwaj

答えて

0

あなたが探している情報は、mow.status()でメイン辞書の中にあります。したがって、dic_info = dict(mow.status()['mowerInfo'])を実行する代わりに、dic_info = mow.status()に変更すると、コードが機能するはずです。

+0

Thanx、完璧に動作しました – Gusten

関連する問題