2015-06-16 2 views
3

Я знаю, что оператор raw string r или R подавляет значение escape-символов, но в какой ситуации это действительно будет полезно?Какая исходная строка полезна в Python?

+9

Путь к файлу: 'r'C: \ Users \ Bob \ Desktop \ file.txt''. –

+1

И регулярное выражение 'r '\ d +'' –

+0

зачем вы это используете? Если вы это вынесете, это не повлияет на отображение кода, потому что я попытался запустить строку без символа r, и все прошло, как ожидалось, без ошибок или чего-либо. – thuang

ответ

7

Необработанные строки обычно используются для регулярных выражений, которые должны включать обратную косую черту.

re.match(r'\b(\w)+', string) # instead of re.match('(\\w)+', string 

Они также полезны для путей к файлам DOS, которые в противном случае должны были бы удвоить каждый разделитель пути.

path = r'C:\some\dir' # instead of 'C:\\some\\dir' 
+1

Обратите внимание, что вам нужно использовать только необработанные строки в регулярных выражениях для escape-последовательности '\ b'. – poke

+0

Не согласен ли писать пути файлов Windows с помощью косой черты? Python выяснит это, он выглядит более последовательным, и вам не нужны экраны или необработанные строки. – davidism

+0

Некоторые, но не все, функции принимают '/' как универсальный разделитель пути, при необходимости преобразуя его в обратную косую черту. – chepner

6

Они спасают вас от leaning toothpick syndrome.

ситуация, в которой цитировал выражение становится нечитаемым, потому что он содержит большое количество экранирующих символов, как правило, слэш («\»)

0

Сырые строки являются полезными, поскольку они спасти вас от добавления управляющих символов просто чтобы избежать «escape-символов». Например, r'url\1' равно 'url\\1'

Смежные вопросы