Python三重引用的变量字符串

时间:2015-02-16 16:08:56

标签: python file python-2.7 variables

尝试write到包含变量的文件,但这会返回错误:

template = """1st header line
second header line
There are people in rooms
and the %s
"""
with  open('test','w') as myfile:
    myfile.write(template.format()) % (variable)

3 个答案:

答案 0 :(得分:3)

.format method期望您使用{}样式而不是%s来模拟要填充在字符串中的空白。它还希望插值值作为参数给出。

template = """1st header line
second header line
There are people in rooms
and the {}
"""

myfile.write(template.format(variable))

答案 1 :(得分:1)

给定的字符串文字是printf-style string。使用str % arg

with  open('test', 'w') as myfile:
    myfile.write(template % variable)

要使用str.format,您应该使用占位符{}{0}代替%s

答案 2 :(得分:1)

错误

myfile.write(template.format())不返回您使用%运算符连接的任何内容

最小编辑

你可以完美地使用%s。问题是你的括号不匹配,括号如)应该在myfile.write(template.format() % (variable))之后的变量之后。但由于template.format() 冗余,因此可以忽略它。因此,正确的方式

myfile.write(template % (variable))

注意: - 字符串中任何字符串为空format()且没有{}的字符串都会返回字符串