字符串格式化python嵌套字典

时间:2019-01-02 16:03:55

标签: python-3.x

bag_id = 'abcd'
result_str = "{'affiliate_details.affiliate_bag_id': '{bag_id}'}".format(bag_id)

我希望输出result_str为“ {'affiliate_details.affiliate_bag_id':'abcd'}”

它给出了一个关键错误-affiliate_details

我尝试使用** {'bag_id':'abcd'}格式将其拆包,但结果也相同。 我认为它是为affiliate_details设计的,但是我该如何处理嵌套的呢?

也尝试提供此功能,但它给出了相同的错误

result_str = "{'affiliate_details.affiliate_bag_id': '{bag_id}'}".format(**{'affiliate_details':'affiliate_details', 'bag_id':'abcd'})

1 个答案:

答案 0 :(得分:2)

python如何知道在哪里搜索格式占位符?

您必须将所需的花括号转为裸露的花括号:

"{{'affiliate_details.affiliate_bag_id': '{bag_id}'}}".format(bag_id=bag_id)

也许您最好构建一个真正的字典并将其序列化:

result_dict = {'affiliate_details.affiliate_bag_id': bag_id}

然后:

str(result_dict)

json.dumps(result_dict)

(使用带有None和布尔值的json时的细微差别,但是您可以使用缩进选项)