Уведомления

Группа в Telegram: @pythonsu

#1 Март 23, 2012 14:48:58

vkopey
От:
Зарегистрирован: 2010-09-26
Сообщения: 116
Репутация: +  3  -
Профиль   Отправить e-mail  

Проблема с сырыми строками

Не пойму в чем проблема, ведь строка объявлена сырой:

>>> print r'tt\'
SyntaxError: EOL while scanning string literal

Можно в данном случае обойтись без экранирования ‘tt\\’ ?



Офлайн

#2 Март 23, 2012 15:05:21

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Проблема с сырыми строками

When an ‘r’ or ‘R’ prefix is present, a character following a backslash is included in the string without change, and all backslashes are left in the string. For example, the string literal r“\n” consists of two characters: a backslash and a lowercase ‘n’. String quotes can be escaped with a backslash, but the backslash remains in the string; for example, r“\”“ is a valid string literal consisting of two characters: a backslash and a double quote; r”\" is not a valid string literal (even a raw string cannot end in an odd number of backslashes). Specifically, a raw string cannot end in a single backslash (since the backslash would escape the following quote character). Note also that a single backslash followed by a newline is interpreted as those two characters as part of the string, not as a line continuation.



Офлайн

#3 Март 23, 2012 17:00:17

vkopey
От:
Зарегистрирован: 2010-09-26
Сообщения: 116
Репутация: +  3  -
Профиль   Отправить e-mail  

Проблема с сырыми строками

Так что же делать? Неужели писать так:
print r'tt\\'



Офлайн

#4 Март 25, 2012 07:17:39

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Проблема с сырыми строками

>>> r'tt' + '\\'
'tt\\'
>>>



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version