#python #json #request #format
#питон #json #запрос #форматирование
Вопрос:
Я пытаюсь выполнить цикл по запросу API, выполнив один и тот же запрос 12 раз:
это полезная часть запроса, это работает:
payload="{nt"filter": {n "year":2020,n "month":10,ntt"customer_id":52nt},n "sort":{"_id.date":1}n}"
Моя цель — отформатировать строку полезной нагрузки, добавив циклическую переменную «mes» через месяц. Насколько я понимаю, я пытался использовать:
for mes in range(0,12):
payload="{nt"filter": {n "year":2020,n "month":
{mes},ntt"customer_id":52nt},n "sort":{"_id.date":1}n}".format(mes=mes)
Но это не работает, как я могу отформатировать его, чтобы я мог перебирать полезную нагрузку?
Каким может быть решение?
Спасибо
Ответ №1:
Когда вы используете .format()
, вы не можете иметь {}
в str, поскольку они будут распознаны как место для размещения str .format()
. Вам нужно удвоить каждый из них, где вы не собираетесь использовать форматированный str:
for mes in range(0,12):
payload="{{nt"filter": {{n "year":2020,n "month"{mes},ntt"customer_id":52nt}},n "sort":{{"_id.date":1}}n}}".format(mes=mes)
Короче говоря, '{a} {something else}'.format(a=1)
не работает, но '{a} {{something else}}'.format(a=1)
работает и печатается как '1 {something else}'