Seite 1 von 1

"%" Zeichen im HTML Code

Verfasst: Mittwoch 7. Januar 2009, 13:34
von tjuXx
Hi,

ich würde gerne ein "%" in meinen HTML Code schreiben, der mit Python generiert wird.

Code: Alles auswählen

def INDEX_HTTP(HEADER_HTTP, MAIN_HTTP, FOOTER_HTTP):
	return '''
%(HEADER_HTTP)s
<table width="100%" border="0" align="center">
  <tr>
    <td>%(MAIN_HTTP)s</td>
  </tr>
</table>
%(FOOTER_HTTP)s''' % vars()
Die Tabelle soll dabei width="100%" haben.

Aufgrund des "%"-Zeichen bekomme ich aber folgenden TypeError:

not enough arguments for format string

Habe versucht es mit einem "\" vor dem "%" zu lösen, so funktioniert es aber nicht.

Kann mir jemand helfen??

Gruß tjuXx

Verfasst: Mittwoch 7. Januar 2009, 13:39
von Leonidas
Was gibt denn dein ``vars()``-Aufruf zurück? Es sollte ein Dict sein, in dem die Keys die du im String nutzt, definiert sind.

Verfasst: Mittwoch 7. Januar 2009, 14:02
von tjuXx
ja, ist ein Dict.

{'FOOTER_HTTP': '\n</body></html>', 'HEADER_HTTP': '\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- ... d">\n<html xmlns="http://www.w3.org/1999/xhtml">\n<head>\n <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\n <title>Test</title>\n <link href="../../style/default.css" rel="stylesheet" type="text/css">\n</head>\n<body>', 'MAIN_HTTP': '<h1>Hallo Test</h1>'}

Verfasst: Mittwoch 7. Januar 2009, 14:14
von derdon
Um ein %-Zeichen im String benutzen zu können, muss ein % vorangestellt werden. Beispiel:

Code: Alles auswählen

In [7]: '"<table width="%d%%">' % 100
Out[7]: '"<table width="100%">'

Verfasst: Mittwoch 7. Januar 2009, 14:18
von tjuXx
Vielen Dank....so funktioniert es.