Это, вероятно, где-то было где-то, но названия, которые я видел, не подключаются, так что вот оно. Я видел команды python, которые читают os.listdir(r".\bootstrapper")
. Что делает 'r'
?'r' в командах Python
Cheers ...
Это, вероятно, где-то было где-то, но названия, которые я видел, не подключаются, так что вот оно. Я видел команды python, которые читают os.listdir(r".\bootstrapper")
. Что делает 'r'
?'r' в командах Python
Cheers ...
r следы сырья ввод. Это означает, что обычные escape-символы в строке игнорируются (например, \)
Это необработанная строка, которая удаляет особый характер обратной косой черты.
Это делает его необработанной струной. Другими словами, обратная косая черта будет сохранена. '\n'
интерпретируется как новая строка, но r'\n'
интерпретируется как буквальные символы '\' и 'n'.
Также обратите внимание, что иногда вы увидите u'string'
, если вы используете код python2.x. Это означает, что строка должна интерпретироваться как строка юникода. (в python 3.x все строки интерпретируются как unicode)
Python 3.3 позволит индикатору unicode 'u' (http://www.python.org/dev/peps/pep-0414/), что делает меньше поводов для беспокойства при переносе от 2 до 3. –
@StevenRumbalski Хорошо Знаю, спасибо. – mgilson
не позволяет интерпретатору Python присоединять какие-либо специальные значения к специальным символам в строке (например, обратную косую черту) и просто интерпретировать их как есть (т. е. в его «сырой» форме). Это один из способов «избежать» специальных символов в используемых вами строках.
Вы часто увидите исходные строки в спецификациях пути. Предположим, что путь содержит каталог, начинающийся с t, например, c:\tests\data.csv
, поэтому вы не хотите, чтобы \t
интерпретировался как вкладка, поэтому используйте модификатор r
.
Немного nitpicky, но обратите внимание, что Python не придаёт особое значение * string *, а обратным косам (escape-последовательностям) внутри строкового литерала. –
@benhoyt Итак, я уточню свое объяснение, чтобы быть более точным - спасибо – Levon
@ user466740 Просто дружеское примечание, если это решит вашу проблему, пожалуйста, рассмотрите [** принятие этого ответ **] (http: // meta .stackexchange.com/questions/5234/how-do-accepting-a-answer-work/5235 # 5235) , щелкнув галочку рядом с моим ответом. Это будет означать, что проблема решена, и вознаградите нас обоих некоторыми точками репутации - спасибо. – Levon
r
означает raw input
. Если строка помечена как r
, тогда значение любого специального символа в строке будет проигнорировано, наиболее частой ситуацией будет backslash
.
Хорошая идея для ссылки - но вы связаны с модулем 're', а не с документацией о [строковых литералах (включая необработанные строки)] (http://docs.python.org/reference/lexical_analysis.html # строка-литералы). –
@benhoyt Исправлено; веселит. – trojanfoe