web-dev-qa-db-fra.com

Comment échapper aux guillemets simples dans Python sur un serveur à utiliser en JavaScript sur un client

Considérer:

>>> sample = "hello'world"
>>> print sample
hello'world
>>> print sample.replace("'","\'")
hello'world

Dans mon application Web, je dois stocker ma chaîne Python avec toutes les guillemets simples échappés pour manipulation plus tard dans le navigateur du client JavaScript. Le problème est Python utilise le même notation d'échappement barre oblique inverse, de sorte que l'opération de remplacement décrite ci-dessus n'a aucun effet.

Existe-t-il une solution de contournement simple?

27
rutherford

Utilisation:

sample.replace("'", r"\'")

ou

sample.replace("'", "\\'")
29

Comme solution générale pour passer des données de Python vers Javascript, envisagez de les sérialiser avec la bibliothèque json (partie de la bibliothèque standard dans Python 2.6+).

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
45
Daniel Roseman