%s不替换信息

时间:2011-11-03 20:21:14

标签: python string

我正在尝试在网络上提供信息,为此我使用字符串格式化:

fields = """{"fname" : %s, "lname" : %s, "email" : %s, "deptid" : deptid, "active" : active, "sentient" : sentient}""", (fname, lname, email)

对三个变量中的每一个都有各种值。

无论如何,当我尝试查看字段时,它仍会显示%s!我如何实际让它取代呢?

4 个答案:

答案 0 :(得分:2)

fields = """{"fname" : %s, "lname" : %s, "email" : %s, "deptid" : deptid, "active" : active, "sentient" : sentient}""" % (fname, lname, email)

很简单,用%(这是执行字符串格式化的运算符)替换你的逗号(构造一个元组)。

另外,我建议用单引号替换你的三重引号(尽管你的方式没有错。我只是发现它更具可读性。)

fields = '{"fname" : %s, "lname" : %s, "email" : %s, "deptid" : deptid, "active" : active, "sentient" : sentient}' % (fname, lname, email)

答案 1 :(得分:2)

你要找的角色是%,不是。 如fields = """{"fname" : %s, "lname" : %s, "email" : %s, "deptid" : deptid, "active" : active, "sentient" : sentient}""" % (fname, lname, email)

答案 2 :(得分:1)

您根本没有使用%运算符,而是使用简单的,,而是构造一个元组。

fields = ("""{"fname" : %s, "lname" : %s, "email" : %s, "deptid" : deptid, """
          """"active" : active, "sentient" : sentient}""" % (fname, lname, email))

无论如何,您似乎正在尝试生成JSON输出。如果您是,请查看json module

答案 3 :(得分:1)

您需要使用%运算符将变量列表绑定到字符串,如下所示:

"Here is my %s" % ( "string" )

你在字符串和你的变量列表之间有一个逗号,它并没有给你带来什么。