2012-01-23 18 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" 時(ただし0x22)

サポートされていない形式の文字

を語ります

%s文字列を参照するとonclick=function(%s)

テーブル内の%サインインがPythonなどに影響を与えるかどうか誰かが知っていますか?

+7

問題と予想される出力を与える特定のコードを表示できますか。 – Makoto

+1

あなたの問題についての詳しい情報を提供しますか?私たちはまだ関連性のあるものは知らない。 – Gandaro

+0

ありがとう!私はすでに自分自身を説明するいくつかのコードを入れた – mauguerra

答えて

7

Python文字列で '%'を '%%'としてエスケープする必要があります。おそらく、他のパーセント記号に関するエラーメッセージが表示されます。文字列に1つのパーセント記号だけを置くと、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'}) 
関連する問題