python Windows環境下文件路徑問題


轉自:http://blog.sina.com.cn/s/blog_5ee7254801013zu7.html

在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路徑設計的,所以這種做法盡量少用,可能會出問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM