我正在尝试使用带变量的python自动创建RTF文件。我可以使用下面的代码创建它,但是我不知道如何在file.write命令中使用变量“ name”。
我尝试阅读此http://www.pindari.com/rtf1.html,但找不到任何有帮助的内容。希望有人能指出我正确的方向。谢谢!
test = 'file.rtf'
name = "Chris"
file = open(test,'w')
file.write("""{\\rtf1\\ansi\\deff0
{\\colortbl;\\red0\\green0\\blue0;\\red255\\green0\\blue0;}
\\b Name: "%s" % (name,) \\b0\line
}""")
file.close()
答案 0 :(得分:1)
您误解了%
的工作原理-在字符串文字之外而不是内部使用它。所以不要使用这个:
"""{\\rtf1\\ansi\\deff0
{\\colortbl;\\red0\\green0\\blue0;\\red255\\green0\\blue0;}
\\b Name: "%s" % (name,) \\b0\line
}"""
(因为% (name,)
部分仍在字符串文字的 内)
请改用此:
"""{\\rtf1\\ansi\\deff0
{\\colortbl;\\red0\\green0\\blue0;\\red255\\green0\\blue0;}
\\b Name: %s \\b0\line
}""" % (name,)
请注意,% (name,)
不在文字范围内(并且代码荧光笔正确地标识了它,将其涂成黑色)
(旁注。使用原始字符串可以避免必须两次转义反斜杠)
答案 1 :(得分:0)
代替使用“%”将变量作为字符串添加,例如:
Spatial*
希望它能对您有所帮助。