反斜線常用來逃避特殊字符串。例如:
>>> print "hi\nbye"
hi
bye
告訴Python的不想要計算斜線特殊通常作爲使用「原始」的字符串,它可以通過與字母「R」的字符串前面被寫爲一個string literal一樣容易。
>>> print r"hi\nbye"
hi\nbye
即使是原始字符串,也不能以奇數個反斜槓結尾。這使得字符串拼接困難。
>>> print "hi" + r"\" + "bye"
File "<stdin>", line 1
print "hi" + r"\" + "bye"
^
SyntaxError: invalid syntax
有幾種方法可以解決這個問題。最簡單的就是使用字符串格式化:
>>> print r'{}\{}'.format('hi', 'bye')
hi\bye
另一種方法是使用雙反斜線在常規串逃脫與第一第二反斜線:
>>> print 'hi' + '\\' + 'bye'
hi\bye
但所有這一切假設你」重新面對使用反斜槓的合法需求。如果你所要做的只是構建Windows路徑表達式,只需使用os.path.join
即可。
似乎有很多方法可以解決這個問題,但我最終使用了來自於小二的修改後的消解:r'{} \ {}'。format('hi','bye')謝謝大家! –