標籤:
Windows下檔案路徑的分隔字元是‘\‘反斜線,檔案路徑也是一個字串,牽扯到‘\‘在Python字串中存在轉義的情況,就對這個問題做一個探究。
Python字串中要使用‘\‘時有兩種方法:
- 使用‘\‘轉義,寫法為‘\\‘。例如:"c:\\users\\xxx.txt"
- 字串前加r強制不轉義,寫法r‘c:\users\xxx.txt‘
Python中預設的是第一種方式,使用逸出字元串來表示路徑,比如os.getcwd()返回的目前的目錄的路徑可以發現。當使用第二種方法時,python還是會把字串轉換為第一種結果。
涉及到路徑的操作大多是路徑的拼接和分割,好在Python已經為這些操作封裝了函數,os.path.join(),os.path.split()。建議大家使用這些函數來完成分割和拼接操作,不要自己寫,一不小心就出錯了。
測試代碼如下:
1 >>> os.getcwd() 2 ‘C:\\Users\\xdy\\Desktop‘ 3 >>> f=open(os.getcwd()+r‘\forher\out1.txt‘) 4 >>> f=open(os.getcwd()+‘\forher\out1.txt‘) 5 Traceback (most recent call last): 6 File "<pyshell#21>", line 1, in <module> 7 f=open(os.getcwd()+‘\forher\out1.txt‘) 8 IOError: [Errno 22] Invalid argument: ‘C:\\Users\\xdy\\Desktop\x0corher\\out1.txt‘ 9 >>> 10 >>> os.path.join(os.getcwd(),‘forher‘)11 ‘C:\\Users\\xdy\\Desktop\\forher‘12 >>> os.path.sep13 ‘\\‘
View Code
Python路徑總結