Python 2.6 définit str.format(…)
, qui, à partir de Python 3.0, est préféré à l'ancien style de formatage de chaîne %
. En regardant le "mini-language", cependant, il semble qu'il est impossible d'utiliser le caractère }
comme caractère de remplissage.Python Chaîne de format "}" fill
Cela me semble une étrange omission. Est-il possible d'échapper d'une manière ou d'une autre à ce personnage et de l'utiliser comme personnage de remplissage?
Je sais que je pourrais remplir avec un certain caractère unique à la chaîne, puis utiliser str.replace
, ou un certain nombre d'autres astuces semblables pour obtenir le même résultat, mais qui se sent comme un hack pour moi ...
edit: ce que je suis après est quelque chose comme
>>> "The word is {0:}<10}".format("spam")
'The word is spam}}}}}}'
N'est-ce pas: "Pourquoi ne puis-je pas utiliser \ 0 dans mes chaînes C?" Je veux dire, la question a son droit à être posée, mais les cas limites où cela aurait de l'importance sont vraiment ésotériques. – Boldewyn
Si ce serait ')' et que vous généreriez automatiquement du code Lisp, peut-être, OK. Mais les accolades fermantes bouclées? – Boldewyn
Oui, c'est ésotérique, et ne sera probablement jamais utilisé. Mais je suis autorisé à être curieux, non? (Et \ 0 dans les cordes C est possible, vous venez d'échapper le \, il me semble étrange qu'il n'y ait aucune échappatoire disponible dans cette situation). –