Найти - Пользователи
Полная версия: Как применит "r" к переменной
Начало » Python для новичков » Как применит "r" к переменной
1 2
moro
Всем привет.

Можно сделать вот так:
>>> "hahaha\nhaha\nhaha"
'hahaha\nhaha\nhaha'
>>> r"hahaha\nhaha\nhaha"
'hahaha\\nhaha\\nhaha'
Ворпрос в следующем: как это же самое сделать с переменной?
Вот как я пытался сделать.. Везде ошибки.
>>> s="hahaha\nhaha\nhaha"
>>> s.replace("\", "\\")
File "<stdin>", line 1
s.replace("\", "\\")
^
SyntaxError: unexpected character after line continuation character
>>> a="\\"
>>> s.replace("\", a)
File "<stdin>", line 1
s.replace("\", a)
^
SyntaxError: EOL while scanning string literal
s.replace("\\", "\\\\")
'hahaha\nhaha\nhaha'
>>> s.replace("\\", "\\\")
File "<stdin>", line 1
s.replace("\\", "\\\")
^
SyntaxError: EOL while scanning string literal
Заранее благодарю.
Vader
>>> s = 'hahaha\nhaha\nhaha'
>>> s.replace('\n','\\n')
'hahaha\\nhaha\\nhaha'
>>> s.replace('\n',r'\n')
'hahaha\\nhaha\\nhaha'
>>>
moro
Vader
>>> s = 'hahaha\nhaha\nhaha'
>>> s.replace('\n','\\n')
'hahaha\\nhaha\\nhaha'
>>> s.replace('\n',r'\n')
'hahaha\\nhaha\\nhaha'
>>>
А если строка вот такая?
>>> r"\a\b\c\d\e"
'\\a\\b\\c\\d\\e'
Просто я так понимаю, что для “u” есть функция unicode()
Нет ли такой функции для “r”?
Александр Кошелев
moro
Вы чем-то не тем занимаетесь.

Что вы хотите сделать? Как вы думаете что делает “r” для литералов?
Vader
Поддерживаю предыдущего оратора. Что вы сделать-то хотите?
moro
Допустим есть строка
t="a\n\t\y"
Мне нужно чтобы
t[0]='a'
t[1]='\'
t[2]='n'
и т. д.
А имею:
t[0]='a'
t[1]='\n'
t[2]='\t'
В общем хочется чтобы ‘\n’, ‘\t’ (может и другие какие-то спецефические последовательности) рассматривались просто как два символа.

Как вариант можно сделать два replace. Но может ещё есть последовательности..
Александр Кошелев
Прежде чем идти дальше, ещё один вопрос.
moro
Мне нужно чтобы
Зачем?
moro
Александр Кошелев
Прежде чем идти дальше, ещё один вопрос.
moro
Мне нужно чтобы
Зачем?
долго обьяснять..

ну вот допустим есть файл со случйным содержимым… могут встречаться комбинации \n \t и др.

мне нужно посчитать количество символов \
Александр Кошелев
moro
ну вот допустим есть файл со случйным содержимым… могут встречаться комбинации \n \t и др.

мне нужно посчитать количество символов \
Так если в файле будет именно последовательно двух символов “\” и “n”, то при прочтении этого файла вы получите именно два этих символа.

Эскейп последовательности имеют смысл и особое значение по сути только в исходном коде.
Vader
При чтении из файла эти символы и останутся обычными символами
>> s1=r'\n'
>> s2=s1
>> print s2
'\\n'
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB