大爽Python入門教程 5-4 檔案路徑之相對路徑與絕對路徑
大爽Python入門公開課教案 點選檢視教程總目錄
本章第三節 檔案讀寫中的
open(file, mode)
中的file
,嚴格來講是檔案路徑,而不只是檔名。
一般來講,儘量保證程式碼檔案,和要讀取的檔案在同一資料夾下。
因為此時程式碼裡面讀取檔案,檔案路徑可以直接使用檔名(帶字尾名的)。
如果檔案和程式碼不在一資料夾下,就相對比較麻煩。
假設要讀取的檔案叫做001.txt
,之後簡稱檔案
程式碼檔案叫demo5.py
,之後簡稱程式碼
以下分情況討論,
1 相對路徑
當檔案和程式碼的相對關係固定時,可以使用相對路徑。
檔案上級資料夾和程式碼平級
如下所示
root |---demo5.py |---text |---001.txt
此時程式碼裡面讀取檔案
file
應該寫為text/001.txt
進一步地,如果檔案上級資料夾的上級資料夾和程式碼平級。
如下所示
root
|---demo5.py
|---files
|---text
|---001.txt
此時程式碼裡面讀取檔案
file
應該寫為files/text/001.txt
此情況衍生情況同理
程式碼上級資料夾和檔案平級
如下所示
root
|---001.txt
|---codes
|---demo5.py
此時程式碼裡面讀取檔案
file
應該寫為../001.txt
進一步地,如果程式碼上級資料夾的上級資料夾和檔案平級。
如下所示
root |---001.txt |---codes |---simple |---demo5.py
此時程式碼裡面讀取檔案
file
應該寫為../../001.txt
此情況衍生情況同理
複合情況
此時使用上面兩種語法,聯合處理。
比如程式碼上級資料夾和檔案的上級資料夾平級。
如下
root
|---text
|---001.txt
|---codes
|---demo5.py
此時程式碼裡面讀取檔案
file
應該寫為../text/001.txt
絕對路徑
檔案位置本身基本不發生變化的時候,可以使用絕對路徑。
比如假設計算機的D
盤裡有一個projects
資料夾,
projects
資料夾下有一個lesson5
資料夾,
lesson5
資料夾下有一個001.txt
檔案。
此時001.txt
的絕對路徑為
D://projects/lesso5/001.txt
補充,硬碟下面資料夾的絕對路徑寫法為:
硬碟名 + ://
+ 資料夾名
對比
絕對路徑也可稱完整路徑,是指向檔案系統中某個固定位置的路徑,不會因當前的工作目錄而產生變化。為做到這點,它必須包括根目錄。
相對路徑則是以指定的工作目錄作為基點,避開提供完整的絕對路徑。檔名稱就可以被視為以指定工作目錄為基點的一個相對路徑(雖然一般不將其稱之為路徑)。