Цель: изменить вывод на печать только широты и долготы. Я также хотел бы добавить две строки, но я могу понять, как это сделать. Я борюсь с этим словарем. Пытался передать его в строку через json, но я продолжаю получать ошибки.
Код:
import asyncio
import aiohttp
from pytraccar.api import API
HOST = "x"
PORT = x
USERNAME = "x"
PASSWORD = "x"
async def test():
async with aiohttp.ClientSession() as session:
data = API(LOOP, session, USERNAME, PASSWORD, HOST, PORT)
await data.get_device_info()
test55 = (data.positions)
print(test55)
LOOP = asyncio.get_event_loop()
LOOP.run_until_complete(test())
Вывод:
[{'id': 55555, 'attributes': {'batteryLevel': 49.0, 'distance': 0.0, 'totalDistance': 866122.19, 'motion': False}, 'deviceId': 1, 'type': None, 'protocol': 'osmand', 'serverTime': '2020-06-19T15:25:58.160+0000', 'deviceTime': '2020-06-19T16:21:01.000+0000', 'fixTime': '2020-06-19T16:21:01.000+0000', 'outdated': False, 'valid': True, 'latitude': 39.204066, 'longitude': -71.677783, 'altitude': 41.93764706884086, 'speed': 0.0, 'course': 0.0, 'address': None, 'accuracy': 10.0, 'network': None}]
редактировать: я добираюсь туда :
pull1 = json.dumps(test55).split(',')
print(pull1[5])
вывод:
"deviceId": 1
Теперь, может быть, все, что мне нужно сделать, это заменить идентификатор устройства.
edit: спасибо всем за помощь. Вот что я наконец сделал:
pull = json.dumps(test55).split(',')
print(pull[10][12:]) #fix time
print(pull[13][12:]) #lat
print(pull[14][13:]) #long
print(pull[15][12:]) #alt
print(pull[19][12:]) #accuracy