Форматирование полезной нагрузки запроса в цикле

#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}'