1. 程式人生 > 其它 >大爽Python入門教程 5-4 檔案路徑之相對路徑與絕對路徑

大爽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

補充,硬碟下面資料夾的絕對路徑寫法為:
硬碟名 + :// + 資料夾名

對比

絕對路徑也可稱完整路徑,是指向檔案系統中某個固定位置的路徑,不會因當前的工作目錄而產生變化。為做到這點,它必須包括根目錄。

相對路徑則是以指定的工作目錄作為基點,避開提供完整的絕對路徑。檔名稱就可以被視為以指定工作目錄為基點的一個相對路徑(雖然一般不將其稱之為路徑)。