Python:创建RTF文件时使用变量

时间:2018-09-12 13:05:44

标签: python rtf

我正在尝试使用带变量的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()

2 个答案:

答案 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*

希望它能对您有所帮助。