1. 程式人生 > >python Windows環境下檔案路徑問題

python Windows環境下檔案路徑問題

在python程式裡面我們經常需要對檔案進行操作,Windows下的檔案目錄路徑使用反斜槓“\”來分隔。但是,和大多數語言一樣,Python程式碼裡面,反斜槓“\”是轉義符,例如“\n”表示回車、“\t”表示製表符等等。這樣,如果繼續用windows習慣使用“\”表示檔案路徑,就會產生歧義。

例如

“c:\test.txt”這表示c盤根目錄下的一個檔案,還是表示一個字串呢?因為“\t”也可以解釋為製表符。如果讓我們人來判斷,這當然是一個很簡單的問題。但是機器就無法做出正確的判斷了,只有沒有歧義的程式碼機器才會正確執行。

解決辦法

採用下面任何一種書寫形式均可:

使用斜槓“/”:
"c:/test.txt"


不用反斜槓就沒法產生歧義了

將反斜槓符號轉義
"c:\\test.txt"
因為反斜槓是轉義符,所以兩個”\\“就表示一個反斜槓符號

使用Python的raw string
r"c:\test.txt"
python下在字串前面加上字母r,表示後面是一個原始字串raw string,不過raw string主要是為正則表示式而不是windows路徑設計的,所以這種做法儘量少用,可能會出問題。

參考這裡