Python запрос получить и поместить данные в приращениях
Первый пост, долгое время читатель. Я очень новичок в программировании и просто пытаюсь научиться использовать сеть.
У меня есть некоторый код в Python, с которым у меня проблемы, и я хотел бы помочь. У меня есть 2 сценария Python, которые в основном считывают данные из моего блока переменного тока, а второй отправляет данные в него.
Вот код для получения данных... (результаты - просто длинная строка текста, отсюда отформатированные данные для извлечения конкретной информации)
#!/usr/bin/python
import requests
import json
link = "https://actron.ninja.is/rest/v0/device/ACONNECT001EC015ABFE_0_2_4?<user_access_token>"
f = requests.get(link)
raw_data = f.text
formatted_data = json.loads(raw_data)
amOn = formatted_data['data']['last_data']['DA']['amOn']
tempTarget = formatted_data['data']['last_data']['DA']['tempTarget']
print (tempTarget)
и код для отправки данных...
#!/usr/bin/python
import requests
headers = {
'Origin': 'https://actronair.com.au',
'Accept-Encoding': 'gzip, deflate, br',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Referer': 'https://actronair.com.au/aconnect/',
'Connection': 'keep-alive',
}
params = (
('user_access_token', '<user access token>'),
)
data = '{"DA":{"tempTarget":24}}'
response = requests.put('https://actron.ninja.is/rest/v0/device/ACONNECT001EC015ABFE_0_2_4', headers=headers, params=params, data=data)
Мой вопрос и какова моя цель, я хотел бы объединить это в один файл Python и в основном сделать так, чтобы программа считывала текущее значение "tempTarget", а затем увеличивала его с шагом 1, в результате чего этот скрипт будет в конечном итоге присоединен к кнопке.,
Я борюсь с этим, так как отправленные данные являются строкой, поэтому я представляю, что мне нужно преобразовать ее, чтобы сказать, что это dict и +1 к полученной tempTarget, а затем вернуться к строке, я просто не могу понять, как правильно конвертировать и упорядочивать, Или, может быть, это не способ сделать это.
Ваша помощь очень ценится.
1 ответ
Используйте json.dumps()
>>> data = json.loads('{"DA":{"tempTarget":24}}')
>>> data['DA']['tempTarget'] += 1
>>> json.dumps(data)
'{"DA": {"tempTarget": 25}}'
>>>