在 Python 中獲取當前檔案的路徑
在 Python 中,我們可以處理許多檔案和模組,並不斷與檔案系統互動。要匯入或匯出檔案,我們需要知道這些檔案的正確路徑和目錄,否則就會出現錯誤。知道當前正在執行的 Python 指令碼的路徑或其他一些檔案的路徑也是必不可少的。
當前的工作目錄就是我們當前正在工作的 Python 的目錄。
本教程將介紹如何在 Python 中獲取當前檔案和當前工作目錄的完整路徑和目錄。
使用 pathlib
模組獲取檔案路徑和當前工作目錄的方法
pathlib
庫適用於 Python 3.x 及以上版本,它包含了處理檔案路徑相關問題的類、方法。
在下面的程式碼中,我們將使用 pathlib
模組提供的函式提取一個 Python 指令碼的路徑。
import pathlib
print(pathlib.Path(__file__).parent.absolute())
輸出:
C:\Sample\Python
absolute()
方法返回檔案的完整路徑,parent()
函式從這個路徑中檢索檔案的目錄。
為了得到當前的工作目錄,我們將上述函式中的檔名去掉。下面的程式碼展示瞭如何操作。
import pathlib
print(pathlib.Path().absolute())
輸出:
C:\Sample\Python
使用 os
模組獲取檔案路徑和當前工作目錄
os
庫是用來與作業系統互動的,它有函式可以檢索檔案的完整路徑。這種方法在 Python 2.x 中也可以使用。
abspath()
函式可以得到所需檔案的路徑,dirname()
函式從完整路徑中得到目錄。
例如:
import os
print(os.path.dirname(os.path.abspath(__file__)))
輸出:
C:\Sample\Python
我們不能直接使用 dirname()
函式來獲取檔案的目錄,因為它返回的是一個空字串。
我們也可以使用 realpath()
函式來替代 abspath()
函式。如果路徑中存在符號連結,它就會將其刪除。
import os
print(os.path.dirname(os.path.realpath(__file__)))
輸出:
C:\Sample\Python
為了得到當前的工作目錄,我們可以使用 getcwd()
函式來返回當前的目錄路徑。我們可以將這個路徑傳遞給 dirname()
函式來獲取目錄。
例如:
import os
print(os.path.abspath(os.getcwd()))
輸出:
C:\Sample\Python
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn