2012-01-23 7 views
4

Я работаю с HTML-приложением с Python. Обычно я использую знак %, чтобы указать, что я использую элемент 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 

ошибка, что я имею говорит

неподдерживаемый формат символа '"' (0x22) с индексом 19"

, ссылаясь на строку %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 see my edit – 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'}) 
Смежные вопросы