如何在dict中将变量作为值插入

时间:2015-12-09 13:10:30

标签: python json string dictionary

我正在尝试生成一个json有效负载来POST到API,但是我很难让它工作。

这就是我现在所拥有的;

def payload(user, macro_hostname, macro_servicedesc, macro_servicestate, macro_serviceoutput,nagios_url):
    payload = { 'username': '%s', 'text': '--- \n HOST: %s \n SERVICE: %s \n STATE: %s \n MESSAGE %s \n %s|see nagios for more information \n\n --- ' % user, macro_hostname, macro_servicedesc, macro_servicestate, macro_serviceoutput, nagios_url }
    return payload

除了它丑陋而不是真正的pythonic之外,它还具有根本不起作用的独特特征。我已尝试过这种方法的不同变化,但我似乎一直试图让这项工作;不幸的是,我真的没有办法让这个工作起作用。

我知道str.format()比%s方法更受欢迎,但我非常确定有一种完全不同的方式来做我想做的事情,这比我现在想做的要好得多。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,那么你在为字典字符串初始化时会出错 - >字符串格式化错误 将您的$group变量移到dictionnary中的第一项旁边,并在最后一个变量中添加括号。

user