Подтвердить что ты не робот

Как избежать одинарных кавычек в Python на сервере для использования в JavaScript на клиенте

Рассмотрим:

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

В моем веб-приложении мне нужно хранить строку Python со всеми одинарными кавычками, экранированными для последующей обработки в клиентских браузерах JavaScript. Проблема в том, что Python использует ту же нотацию обратной косой черты, поэтому операция замены, как описано выше, не имеет никакого эффекта.

Есть ли простой обходной путь?

4b9b3361

Ответ 1

Использование:

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

или

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

Ответ 2

Как общее решение для передачи данных с Python на Javascript, рассмотрите сериализацию его с помощью библиотеки json (часть стандартной библиотеки в Python 2.6 +).

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