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'})
答案 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时的细微差别,但是您可以使用缩进选项)