2012-03-26 16 views
7

Estoy tratando de obtener algo de HTML para trabajar con mi código python. Tengo esto para uno de mis códigos CSS.Python y HTML '% Operator'

#footerBar { 
height: 40px; 
background: red; 
position: fixed; 
bottom: 0; 
width: 100%; 
z-index: -1; 
} 

Sin embargo, cuando intento acceder a la página, me sale el siguiente error.

File "projv2.py", line 151, in welcome 
</form>""" %(retrievedFullName, retrievedUserName,) 
ValueError: unsupported format character ';' (0x3b) at index 1118 

Creo que es jugar con el % ya que yo utilizo que en el HTML en otro lugar.

Cualquier ayuda sería muy apreciada.

+1

¿Cómo está "accediendo" a esa página? –

+0

OK, ha probado lo que sucede si elimina el '%' (reemplazándolo por 'px' o lo que sea). ¿El error desaparece? –

Respuesta

19

Si desea utilizar el operador de formateo %, necesita escapar de sus caracteres %.

Así que el CSS debe decir:

#footerBar { 
height: 40px; 
background: red; 
position: fixed; 
bottom: 0; 
width: 100%%; 
z-index: -1; 
} 

lugar.

En su lugar, es preferible utilizar el método .format() de la cuerda ya que es la forma preferible. Ver PEP 3101 para la justificación.

Así que en lugar de

...""" % (retrievedFullName, retrievedUserName,) 

hacer

...""".format(retrievedFullName, retrievedUserName) 

y cambie las %s 's en su cadena a {0} y {1}. Por supuesto, necesita escapar de su {} en este caso, también.

+0

¿Qué significa esto? – user432584920684

+5

Su respuesta es técnicamente correcta, lo cual, como todos sabemos, es el mejor tipo de corrección. – cha0site

+0

Muchas gracias por su ayuda. – user432584920684