百分号不起作用

5 投票
2 回答
3793 浏览
提问于 2025-04-17 10:54

我正在用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

撰写回答