2012-01-23 67 views
4

我正在用Python處理HTML應用程序。我通常使用%符號來表示我正在使用Python元素,並且從來沒有遇到過這個問題。百分比符號不起作用

現在,我使用了一些表,我正在試圖控制它們的大小輪空使用%標誌的百分比。所以現在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 

,我有錯誤「'在指數19" (0×22)

不支持的格式字符

製作參考%s串中的onclick=function(%s)

有人知道表中的%登錄是否影響Python或類似的東西?

+7

您能否顯示給出問題和預期輸出的特定代碼? – Makoto

+1

請您提供有關您的問題的更多信息?我們還不知道任何相關的東西。 – Gandaro

+0

謝謝!我已經放了一些代碼來解釋我自己 – mauguerra

回答

7

您需要在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 
+0

我不知道我理解你了!我到底該怎麼做? – mauguerra

+1

@mauguerra查看我的編輯 – soulcheck

+0

謝謝!它工作得很好 – mauguerra

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'})