如何在docutils html模板中包含%符号

and*_*s-h 1 python

我想使用自己的模板生成带有rst2html的HTML页面.这些模板包含许多%的符号,例如

<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
Run Code Online (Sandbox Code Playgroud)

现在,当我使用命令调用rst2html时

rst2html --template=layout2.tpl rst/index.rst > index.html
Run Code Online (Sandbox Code Playgroud)

我收到了错误

ValueError:索引827处不支持的格式字符'"'(0x22)

我发现问题是rst2html认为%"是一个占位符.

我已经尝试过逃避模板中的%,比如

<TABLE border="0" cellpadding="0" cellspacing="0" width="100\%">
Run Code Online (Sandbox Code Playgroud)

但这不起作用,错误是一样的.

所以我的问题是如何解决这个问题.任何帮助是极大的赞赏!

hug*_*own 7

你有没有尝试过明显的事情:用'%'逃避'%'?

以下是在结果中显示百分号的常规字符串格式:

>>> print "%d%%" % 100
100%
Run Code Online (Sandbox Code Playgroud)

也许rst2html是一样的?(我没有在rst2html中尝试过这个 - 我没有安装它.)

好的,现在我已经安装了docutils.这对我有用:

layout2.tpl:

<TABLE border="0" cellpadding="0" cellspacing="0" width="100%%">
Run Code Online (Sandbox Code Playgroud)

命令行:

C:\Python26\Lib\site-packages>python C:\Python26\Lib\site-packages\docutils-0.5-
py2.6.egg\EGG-INFO\scripts\rst2html.py --template=c:\temp\layout2.tpl
^Z
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
Run Code Online (Sandbox Code Playgroud)

我相信结果是所希望的.