Python 反斜槓問題

2021-09-24 00:25:30 字數 1189 閱讀 4157

python 本身可以使用反斜槓 \ 來轉義一些特殊字元,比如在字串中加入引號的時候:

>>> syztoo = 'it\'s a song'

>>> syztoo

"it's a song"

>>> print (syztoo)

it's a song

當然也可以轉義反斜槓本身,比如:

>>> file = 'c:\\now'

>>> file

'c:\\now'

>>> print (file)

c:\now

當字串當**現多個特殊字元需要轉義時,為了方便,python 提供了原生字串的賦值的方法,在字串前面加 r,比如:

>>> file = r'c:\now\table\nginx'

>>> print (file)

c:\now\table\nginx

不過在 python 裡有個 bug:

>>> file = r'c:\now\table\nginx\'

file "", line 1

file = r'c:\now\table\nginx\'

^syntaxerror: eol while scanning string literal

在變數賦值時,若字串以反斜槓結尾,python 會報錯, 即使使用 python 的原生字串方式賦值也不行;

其實字串也並不是不能以反斜槓結尾,只是不能以奇數個反斜槓結尾,比如:

>>> file = r'c:\now\table\nginx\\'

>>> print (file)

c:\now\table\nginx\\

上面字串以兩個反斜槓結尾,python 正常列印執行,那怎麼實現字串以單個反斜槓結尾呢?

解決辦法是將反斜槓放入另乙個字串裡面,python 自動合併:

>>> file = r'c:\now\table\nginx' '\\'

>>> print (file)

c:\now\table\nginx\

斜槓 和反斜槓

unix使用斜槓 作為路徑分隔符,而web應用最新使用在unix系統上面,所以目前所有的網路位址都採用斜槓 作為分隔符。windows系統已經使用斜槓 作為dos命令提示符的引數標誌了,為了不混淆,所以採用反斜槓 作為路徑分隔符。隨著發展,dos系統已經被淘汰了,命令提示符也用的很少,斜槓和反斜槓在...

Python中的正斜槓與反斜槓

首先,左傾斜是正斜槓,右傾斜是反斜槓,可以記為 除號是正斜槓一般來說對於目錄分隔符,unix和web用正斜槓 windows用反斜槓,但是現在windows 一 目錄中的斜槓們 python讀檔案需要輸入的目錄引數,列出以下例子 path r c windows temp readme.txt pa...

Python中的正斜槓與反斜槓

首先,左傾斜是正斜槓,右傾斜是反斜槓,可以記為 除號是正斜槓一般來說對於目錄分隔符,unix和web用正斜槓 windows用反斜槓,但是現在windows 一 目錄中的斜槓們 python讀檔案需要輸入的目錄引數,列出以下例子 path r c windows temp readme.txt pa...