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

Windows環境下Python程式碼的檔案路徑問題

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

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

      解決辦法,採用下面任何一種書寫形式均可:

  • 使用斜槓“/”: 
    "c:/test.txt"
    … 不用反斜槓就沒法產生歧義了
  • 將反斜槓符號轉義: "c:\\test.txt"… 因為反斜槓是轉義符,所以兩個"\\"就表示一個反斜槓符號
  • 使用Python的raw stringr"c:\test.txt" … python下在字串前面加上字母r,表示後面是一個原始字串raw string,不過raw string主要是為正則表示式而不是windows路徑設計的,所以這種做法儘量少用,可能會出問題。