442 votes

sélectivement échapper pourcentage (%) en python

J'ai lu la documentation python sections connexes, cherché partout, je pouvais penser, et demandé à mes collègues et nous ne pouvons pas venir avec la solution directe viens de solutions.

test = "have it break."
selectiveEscape = "Print percent % in sentence and not %s" % test

print selectiveEscape

Sortie désirée:

Print percent % in sentence and not have it break.

Ce qui se passe réellement:

    selectiveEscape = "Use percent % in sentence and not %s" % test
TypeError: %d format: a number is required, not str

733voto

Nolen Royalty Points 7344
>>> test = "have it break."
>>> selectiveEscape = "Print percent %% in sentence and not %s" % test
>>> print selectiveEscape
Print percent % in sentence and not have it break.

62voto

Karmel Points 1377

Sinon, comme de la version 2.6 de Python, vous pouvez utiliser la nouvelle mise en forme de chaîne (décrite dans le PEP 3101):

'Print percent % in sentence and not {0}'.format(test)

ce qui est particulièrement pratique car vos chaînes deviennent plus compliquées.

48voto

openmeet123 Points 81

essayez d'utiliser %% pour l'impression du signe%.

3voto

pepr Points 4263

Si la mise en forme du modèle a été lu à partir d'un fichier, et vous ne pouvez pas garantir que le contenu de doubler le signe de pourcentage, alors vous avez probablement pour détecter le caractère de pourcentage et de décider par programmation si c'est le début d'un espace réservé ou non. Ensuite, l'analyseur doit également reconnaître les séquences comme %d (et d'autres lettres qui peuvent être utilisés), mais aussi %(xxx)s etc.

Problème similaire peut être observé avec les nouveaux formats -- le texte peut contenir des accolades.

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