Как избежать одиночных кавычек в Python на сервере для использования в Javascript на клиенте - PullRequest
26 голосов
/ 14 сентября 2010
>>> sample = "hello'world"
>>> print sample
hello'world
>>> print sample.replace("'","\'")
hello'world

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

Надеюсь, есть простой обходной путь?

Ответы [ 2 ]

44 голосов
/ 14 сентября 2010

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

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
28 голосов
/ 14 сентября 2010

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

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

или

sample.replace("'", "\\'")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...