一、使用os模塊的abspath方法獲取文件的絕對路徑
Python的os模塊提供了多種方法來獲取文件路徑和文件名,其中abspath方法可以獲取文件的絕對路徑。
import os path = 'example.txt' absolute_path = os.path.abspath(path) print(absolute_path)
以上代碼中,我們首先引入os模塊,然後定義了一個相對路徑,即’example.txt’。使用os.path.abspath方法可以得到文件的絕對路徑,即在此時此地的絕對路徑。
二、使用os模塊的realpath方法獲取文件的真實路徑
與abspath方法相似,os模塊的realpath方法也可以獲取文件的絕對路徑。不同的是,realpath方法可以解析所有的符號鏈接,從而得到文件的真實路徑。
import os path = 'example.txt' real_path = os.path.realpath(path) print(real_path)
以上代碼中,我們同樣首先引入os模塊,然後定義了一個相對路徑,即’example.txt’。使用os.path.realpath方法可以得到文件的真實路徑,如果文件路徑中有符號鏈接,realpath方法會解析它們並返回鏈接目標的路徑。
三、使用Pathlib模塊的resolve方法獲取文件的絕對路徑
Pathlib模塊是Python 3.4及以上版本中新增的模塊,它提供了一種更加面向對象的方式來處理文件路徑。Path類包含了一些方法來獲取文件的絕對路徑,其中resolve方法可以返迴文件的絕對路徑。
from pathlib import Path path = Path('example.txt') absolute_path = path.resolve() print(absolute_path)
以上代碼中,首先我們引入Path類,然後使用Path構造函數創建一個路徑對象,即Path(‘example.txt’)。使用resolve方法可以得到文件的絕對路徑。
四、使用inspect模塊的getfile方法獲取文件的絕對路徑
inspect模塊提供了一些函數,可以用來獲取Python對象的信息,例如獲取對象的類型、定義位置等。getfile方法可以返回指定對象的源代碼文件路徑。
import inspect file_path = inspect.getfile(inspect.currentframe()) print(file_path)
以上代碼中,我們使用inspect模塊的getfile方法,傳入inspect.currentframe()作為參數,來獲取當前腳本文件的絕對路徑。
五、使用__file__內置變量獲取文件的絕對路徑
在Python中,每個模塊都有一個內置變量__file__,它包含了該模塊文件的絕對路徑。因此,可以直接使用該變量來獲取當前模塊文件的絕對路徑。
import os file_path = os.path.abspath(__file__) print(file_path)
以上代碼中,我們使用os.path.abspath方法和__file__變量來獲取當前模塊文件的絕對路徑。
結論
Python提供了多種方法來獲取文件的絕對路徑,其中os模塊提供的abspath和realpath方法可以在多個平台上運行,而Pathlib模塊提供的Path類則是更加面向對象的方式來處理文件路徑。inspect模塊和__file__內置變量都可以用來獲取當前腳本文件的絕對路徑。不同的方法適用於不同的場景,可以根據實際需求選擇使用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/154531.html