#python #escaping
#python #экранирование
Вопрос:
Рассмотрим эту строку кода Python:
s = "This string has nr whitespace"
Как мне сделать
print s
дайте мне
This string has nr whitespace
вместо
This string has
whitespace
как это происходит сейчас.
Ответ №1:
вам нужна необработанная строка?
s = r"This string has nr whitespace"
или преобразовать специальные символы в его представление?
repr(s)
Ответ №2:
print s.encode('string-escape')
Ответ №3:
Вам нужна repr
функция.
print repr(s)
Комментарии:
1. Примечание: это также будет напечатано
'
в начале и конце строки.2. OP может также хотеть или не хотеть добавлять кавычки, которые
repr()
будут добавлены.3. Это печатает
'This string has nr whitespace'
с кавычками, поэтому вывод не совсем такой, какой указан в OP.
Ответ №4:
Вы можете использовать возможности форматирования Python для печати строки в ее «необработанном» виде:
print "%r" % s
Вы также можете создать строку в необработанном виде следующим образом:
s = r'This string has nr whitespace'
и Python обработает экранирование обратной косой черты, так что это именно то, что вы получаете:
print s # outputs "This string has nr whitespace"