百分号不起作用
我正在用Python开发一个HTML应用。通常我用%
符号来表示我在使用Python的元素,以前从来没有遇到过问题。
现在,我在使用一些表格,想通过%
符号来控制它们的大小。但是现在Python的元素没有显示出来。
这里有一些代码来帮助解释我的问题:
<table width="90%">
<tr>
<td width="60%">HELLO</td>
<td width="40%">GOOD BYE</td>
</tr>
</table>
<input type="button" value="BUTTON" onclick="function(%s)" /> ''' % variable
我遇到的错误提示是:
不支持的格式字符 '"' (0x22) 在索引 19
这个错误是指在onclick=function(%s)
中的%s
字符串。
有人知道在表格中使用%
符号是否会影响Python,或者类似的情况吗?
2 个回答
3
在较新的Python版本中(比如2.6或更高版本),你可以使用.format()
这个方法。这样你就不需要对百分号进行转义了:
s = '''<table width="90%">
<tr>
<td width="60%">HELLO</td>
<td width="40%">GOOD BYE</td>
</tr>
</table>
<input type="button" value="BUTTON" onclick="function({funcarg})" /> '''
s.format(**{'funcarg': 'return'})
8
在Python字符串中,你需要把'%'写成'%%'。你看到的错误信息可能是因为其他的百分号。如果你在字符串中只放一个百分号,Python会认为后面会跟着一个格式字符,然后就会尝试进行变量替换。
在你的情况下,你应该这样写:
'''
....
<table width="90%%">
<tr>
<td width="60%%">HELLO</td>
<td width="40%%">GOOD BYE</td>
</tr>
</table>
<input type="button" value="BUTTON" onclick="function(%s)" /> ''' % variable