【问题标题】:f string backslash escapef 字符串反斜杠转义
【发布时间】:2021-12-16 10:49:22
【问题描述】:

我有一个请求有效负载,我需要在其中使用变量来获取不同产品的详细信息

payload = f"{\"filter\":\"1202-1795\",\"bpId\":\"\",\"hashedAgentId\":\"\",\"defaultCurrencyISO\":\"pt-PT\",\"regionId\":2001,\"tenantId\":1,\"homeRegionCurrencyUID\":48}"

我需要将\"filter\":\"1202-1795\" 更改为\"filter\":\"{variable}\" 以填充请求并获取信息,但我正在努力处理f string 中的反斜杠

我尝试将字符串内的双引号以及开头和结尾的引号都更改为单引号,尝试了双引号 {},但没有任何效果

这是我填充请求的变量

variable = ['1214-2291','1202-1823','1202-1795','1202-1742','1202-1719','1214-2000','1202-1198','1202-1090']

【问题讨论】:

  • 不要使用字符串格式生成 JSON 数据!首先在字典中构造数据,然后使用json.dumps()Sample.

标签: python python-requests f-string


【解决方案1】:

创建一个字典,遍历列表中的项目,设置filter 键,发出请求。

import requests
payload = {"bpId":"",
           "hashedAgentId":"",
           "defaultCurrencyISO":"pt-PT",
           "regionId":2001,
           "tenantId":1,
           "homeRegionCurrencyUID":48}

items = ['1214-2291','1202-1823','1202-1795','1202-1742','1202-1719','1214-2000','1202-1198','1202-1090']
for item  in items:
    payload['filter'] = item
    response = requests.get(url, json=payload)

可以在python requests 包中查看the difference between data and json parameters

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 2021-04-11
    相关资源
    最近更新 更多