Python 2.7 用Python打印第一个;“细分”;
我正在运行一个脚本(Python2.7),它从我的Husqvarna自动割草机收集数据 我想在一个变量中存储一些信息以打印输出,但我似乎想得到的信息在一个子ct中(不知道这是否是正确的术语) 如果我在脚本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
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