[python3] format et caratère {}

bonjour

J’ai un problème avec un script en python3

[code]template = ‘’’

table{border-collapse: collapse;text-align: center} td, th { border: 1px solid red; } .droite {text-align: right }

{1}

''' print(template.format("aaaa","bbb")) --------------------------------------------------------------------------- KeyError Traceback (most recent call last) in () ----> 1 print(template.format("aaaa","bbb"))

KeyError: ‘border-collapse’
[/code]

J’ai bien compris que ce sont les caractères { et } qui posent problème dans {border-collapse: collapse;text-align: center} mais alors comment échapper { et }?

Il faut doubler les accolades.
Par contre, je ne comprends pas pourquoi tu as deux paramètres dans la méthode format.

merci beaucoup

En fait à la place de “aaaa” et “bbbb” j’ai deux variables qui ont du code html.
J’ai mis le texte “aaaa” et “bbbb” juste pour l’emc.

J’essaye plus exactement à faire tourner un code python sous android et actuellement je teste python3 pour android alors je converti un programme qui fonctionne sous python2 pour python3.

J’ai pas testé, mais pourquoi ne pas insérer les accolades avec format :

Sinon, il me semble bien qu’il faut reprendre la classe str pour modifier format, afin de gérer les accolades différement.

oui cela fonctionne aussi.

Je reste sur ‘du texte blablabla {0} et une accolade {{}}’.format(‘blabla’)

Tu as essayé 2to3 ?

Tu as essayé 2to3 ?[/quote]
excusez moi j’avais oublié de cocher resolu

J’avais bien sur commencé par 2to3
merci à tous