我發現這可能是非常有用的蟒蛇script,但在這些表情,我以前從來沒見過就來了:未知Python表達式文件名= R「/路徑/到/文件」
inputfilename = r'/path/to/infile'
outputfilename = r'/path/to/outfile'
我不能找到一種方法來搜索它。 r'...'
是做什麼的?
感謝您的幫助!
我發現這可能是非常有用的蟒蛇script,但在這些表情,我以前從來沒見過就來了:未知Python表達式文件名= R「/路徑/到/文件」
inputfilename = r'/path/to/infile'
outputfilename = r'/path/to/outfile'
我不能找到一種方法來搜索它。 r'...'
是做什麼的?
感謝您的幫助!
r'..'
字符串修飾符導致'..'
字符串被解釋爲字面上。這意味着,r'My\Path\Without\Escaping'
將評估爲'My\Path\Without\Escaping'
- 不會導致反斜槓轉義字符。之前相當於'My\\Path\\Without\\Escaping'
字符串,但沒有原始修飾符。
注意:字符串不能以奇數個反斜槓結尾,即r'Bad\String\Example\'
不是正確的字符串。
...有一個例外:'r'My \ Path \ Without \ Escaping \'不起作用。即使原始字符串不會以奇數個反斜槓結尾。 –
@TimPietzcker,謝謝,修正! –
它被稱爲原始字符串文字。
根據Python String literals documentation
:
反斜槓(\)字符用於轉義 否則具有特殊含義的字符,例如換行,反斜槓本身, 或引號字符。字符串文字可以選擇以字母'r'或'R'作爲前綴 ;這樣的字符串被稱爲原始字符串,並使用不同的規則來解釋反斜槓轉義序列。
...
除非一個「R」或「R」的前綴是目前,在字符串 轉義序列根據類似於標準C語言使用的規則被解釋
它只是意味着原始字符串在Python中。這意味着,無論是在字符串內部,都是字符串。例如,如果你想添加斜線:
string1 = "happy\/cheese"
您將需要在自一個轉義字符斜槓前加\
。例如,\n
意味着一條新線。
如果你保持字符串raw,它確保不管字符串中的內容是不是一種特殊的解釋方式。例如,如果你寫了string2 = r"\n"
,它會給你"\n"
字符串,而不是一個新的行。
您可以從here瞭解更多關於它們的信息。
現在,這是在你的情況下完成的,因爲文件路徑有很多斜槓,我們希望避免必須放置如此多的反斜槓。
這是一個「原始字符串」,請參閱[文檔](http://docs.python.org/3.3/library/re.html#raw-string-notation)。通常可以在不轉義的情況下編寫特殊字符(例如'\')。 – bbayles
r是一個原始字符串文字,它可以讓你忘記轉義序列! HTTP://計算器。com/questions/3517802/python-raw-literal-string – Vivek
這種情況並沒有什麼不同,但是如果路徑中有反斜槓,你會希望包含'r' – beroe