Есть ли способ объявить строковую переменную в Python таким образом, чтобы все внутри нее автоматически экранировалось или имело буквальное значение символа?
Я не спрашиваю, как избежать кавычек с помощью косой черты, это очевидно. Я прошу универсального способа сделать все в строковом литерале, чтобы мне не приходилось вручную проходить и избегать всего для очень больших строк. Кто-нибудь знает решение? Спасибо!
a
будет содержать строку с двумя символами разрыва строки?"
безуспешно, потому что все закончится""""
синтаксической ошибкой.Нет такого. Похоже, вам нужно что-то вроде «здесь документов» в Perl и оболочках, но у Python этого нет.
Использование необработанных строк или многострочных строк означает лишь то, что вам не о чем беспокоиться. Если вы используете необработанную строку, вам все равно придется работать с терминалом "\", и с любым строковым решением вам придется беспокоиться о закрытии ", ',' '' или" "", если оно включено в ваши данные .
То есть нет возможности иметь строку
правильно хранится в любом строковом литерале Python без какого-либо внутреннего экранирования.
источник
Здесь вы найдете документацию по строковым литералам Python:
http://docs.python.org/tutorial/introduction.html#strings
и тут:
http://docs.python.org/reference/lexical_analysis.html#literals
Самый простой пример - использовать префикс «r»:
источник
(Предполагая, что вам не требуется вводить строку непосредственно из кода Python)
чтобы обойти проблему, на которую указал Эндрю Далк, просто введите буквальную строку в текстовый файл и затем используйте ее;
Это напечатает буквальный текст всего, что есть в текстовом файле, даже если это так;
Неинтересно или оптимально, но может быть полезно, особенно если у вас есть 3 страницы кода, для которых требуется экранирование символов.
источник
если строка является переменной, используйте расширение.repr метод на нем:
источник
repr(s)
вместо этого для лучшего стиля