1572 votes

Comment puis-je imprimer un caractère "{}" littéral dans une chaîne python et utiliser aussi .format dessus?

 x = " \{ Hello \} {0} "
print x.format(42)
 

me donne: Erreur de clé: Bonjour \

Je veux imprimer la sortie: {Hello} 42

2162voto

Greg Hewgill Points 356191

Vous avez besoin de doubler l' {{ et }}:

>>> x = " {{ Hello }} {0} "
>>> print x.format(42)
' { Hello } 42 '

Voici la partie pertinente de la documentation Python pour le format des chaînes de caractères syntaxe:

Les chaînes de Format contenir "le remplacement des champs" entouré par des accolades {}. Tout ce qui n'est pas contenue dans l'appareil est considéré comme du texte littéral, qui est copié inchangé jusqu'à la sortie. Si vous avez besoin d'inclure un corset de caractère dans le sens littéral du texte, il peut être échappé par doublement: {{ et }}.

79voto

Kamil Kisiel Points 7298

Vous l'échappez en doublant les accolades.

Par exemple:

 x = "{{ Hello }} {0}"
print x.format(42)
 

25voto

DNR Points 690

Essayez de faire ceci:

 x = " {{ Hello }} {0} "
print x.format(42)
 

23voto

pajton Points 7374

Essaye ça:

x = "{{ Hello }} {0}"

1voto

Sudhanshu Patel Points 26
>>> x = " {{ Hello }} {0} "
>>> print x.format(42)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X