Python 2.7 用Python打印第一个;“细分”;

Python 2.7 用Python打印第一个;“细分”;,python-2.7,Python 2.7,我正在运行一个脚本(Python2.7),它从我的Husqvarna自动割草机收集数据 我想在一个变量中存储一些信息以打印输出,但我似乎想得到的信息在一个子ct中(不知道这是否是正确的术语) 如果我在脚本pp.pprint(mow.status()) 我明白了 { u'batteryPercent': 99, u'cachedSettingsUUID': u'59a88728-804a-47b6-824c-d2b093bd980e', u'connected': False, u'lastE

我正在运行一个脚本(Python2.7),它从我的Husqvarna自动割草机收集数据 我想在一个变量中存储一些信息以打印输出,但我似乎想得到的信息在一个子ct中(不知道这是否是正确的术语)

如果我在脚本
pp.pprint(mow.status())

我明白了

{   u'batteryPercent': 99,
u'cachedSettingsUUID': u'59a88728-804a-47b6-824c-d2b093bd980e',
u'connected': False,
u'lastErrorCode': 0,
u'lastErrorCodeTimestamp': 0,
u'lastLocations': [   {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57352,
                          u'longitude': 12.047441666666666},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573521666666664,
                          u'longitude': 12.047431666666666},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573535,
                          u'longitude': 12.047445},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57356333333333,
                          u'longitude': 12.047563333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573573333333336,
                          u'longitude': 12.047613333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57349,
                          u'longitude': 12.047508333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573485,
                          u'longitude': 12.047495},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57347166666667,
                          u'longitude': 12.047833333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57348833333333,
                          u'longitude': 12.047818333333334},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573526666666666,
                          u'longitude': 12.047773333333334},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573526666666666,
                          u'longitude': 12.047771666666666},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57357666666667,
                          u'longitude': 12.047841666666667},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57354333333333,
                          u'longitude': 12.047875},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57358333333333,
                          u'longitude': 12.047835},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57357666666667,
                          u'longitude': 12.047818333333334},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573635,
                          u'longitude': 12.047693333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57364666666667,
                          u'longitude': 12.04762},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57359,
                          u'longitude': 12.04724},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57359,
                          u'longitude': 12.047235},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57350666666667,
                          u'longitude': 12.047486666666666},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.5735,
                          u'longitude': 12.047553333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57351666666667,
                          u'longitude': 12.047533333333334},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57351666666667,
                          u'longitude': 12.04756},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57353333333333,
                          u'longitude': 12.047541666666667},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57353,
                          u'longitude': 12.047571666666666},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57346,
                          u'longitude': 12.047595},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57346,
                          u'longitude': 12.04761},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573431666666664,
                          u'longitude': 12.04773},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573435,
                          u'longitude': 12.047711666666666},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57346833333333,
                          u'longitude': 12.047578333333334},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573495,
                          u'longitude': 12.047641666666667},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57349333333333,
                          u'longitude': 12.04764},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57347333333333,
                          u'longitude': 12.047643333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57346833333333,
                          u'longitude': 12.04771},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573478333333334,
                          u'longitude': 12.047773333333334},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57325,
                          u'longitude': 12.047635},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57324833333333,
                          u'longitude': 12.047635},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57324166666667,
                          u'longitude': 12.047633333333334},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57324166666667,
                          u'longitude': 12.047631666666666},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573285,
                          u'longitude': 12.047618333333334},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573301666666666,
                          u'longitude': 12.047596666666667},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573303333333335,
                          u'longitude': 12.047595},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57331166666667,
                          u'longitude': 12.047561666666667},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573315,
                          u'longitude': 12.047555},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57331666666666,
                          u'longitude': 12.047555},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57333833333333,
                          u'longitude': 12.047551666666667},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57342166666667,
                          u'longitude': 12.047566666666667},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573365,
                          u'longitude': 12.047553333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573366666666665,
                          u'longitude': 12.047553333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573346666666666,
                          u'longitude': 12.047558333333333}],
u'mowerStatus': u'OFF_DISABLED',
u'nextStartSource': u'WEEK_TIMER',
u'nextStartTimestamp': 1491782400,
u'operatingMode': u'AUTO',
u'showAsDisconnected': False,
u'storedTimestamp': 1491435026887L,
u'valueFound': True}
例如,我可以使用

        dic_info = mow.status()

        Battery = dic_info.get('batteryPercent')

        print Battery
但是我如何得到经度和纬度,以一种类似的方式,我只需要第一个


Thanx Martin

您只需访问
lastLocations
,其中包含一个
目录列表
。到达后,只需访问位置
[0]
中的元素,然后使用
[“纬度”]
[“经度”]
获取它们的特定值

d = dict(mow.status())

>>> print(d['lastLocations'][0])
{'latitude': 57.57352, 'gpsStatus': 'USING_GPS_MAP', 'longitude': 12.047441666666666}

>>> print(d['lastLocations'][0]['latitude'])
57.57352

>>> print(d['lastLocations'][0]['longitude'])
12.047441666666666

例如,您可以将
print(d['lastLocations'][0]
处的索引更改为
[1]
[2]
,以访问此
列表的第二和第三个元素

  • {u'gpsStatus':u'使用全球定位系统地图',u'纬度':57.573521666664,u'经度':12.0474316666666}
  • {u'gpsStatus':u'使用全球定位系统地图',u'纬度':57.573535,u'经度':12.047445}

p.s.:您可以使用
print(len(d['lastLocations'))
获取
lastLocations
列表中的元素数

>>> print(len(d['lastLocations']))
50

所以现在你知道你不能使用比
49
大的
索引,或者换句话说,
50-1
你只需要访问
lastLocations
,它包含一个
目录列表。当你到达那里时,只需访问
[0]
位置的元素,然后使用
['latitude']
[“经度”]
以获取其特定值

d = dict(mow.status())

>>> print(d['lastLocations'][0])
{'latitude': 57.57352, 'gpsStatus': 'USING_GPS_MAP', 'longitude': 12.047441666666666}

>>> print(d['lastLocations'][0]['latitude'])
57.57352

>>> print(d['lastLocations'][0]['longitude'])
12.047441666666666

例如,您可以将
print(d['lastLocations'][0]
处的索引更改为
[1]
[2]
,以访问此
列表的第二和第三个元素

  • {u'gpsStatus':u'使用全球定位系统地图',u'纬度':57.573521666664,u'经度':12.0474316666666}
  • {u'gpsStatus':u'使用全球定位系统地图',u'纬度':57.573535,u'经度':12.047445}

p.s.:您可以使用
print(len(d['lastLocations'))
获取
lastLocations
列表中的元素数

>>> print(len(d['lastLocations']))
50
因此,现在您知道不能使用大于
49
索引,或者换句话说,
50-1