Python os.path.relpath() 方法



Python 的 os.path.relpath() 方法用於獲取從一個指定路徑到另一個指定路徑的相對路徑。該方法根據當前工作目錄或指定的起始目錄計算起始路徑和目標路徑之間的相對路徑。

如果起始路徑和結束路徑相同,則該方法返回空字串。如果起始路徑不是結束路徑的祖先,則會引發“ValueError”錯誤。

語法

以下是 Python os.path.relpath() 方法的基本語法:

os.path.relpath(path, start=os.curdir)

引數

此方法接受以下引數:

  • path - 表示要獲取相對檔案路徑的路徑字串。

  • start(可選) - 表示計算相對路徑的起始目錄。如果未提供,則預設為當前目錄 (os.curdir)。

返回值

該方法返回一個字串,表示相對於指定起始目錄的相對檔案路徑。如果未提供 start,則從當前目錄計算相對檔案路徑。

示例

在下面的示例中,我們使用 relpath() 方法計算從“/path/to/dir”到“/path/to/dir/file.txt”的相對路徑:

import os
path1 = "/path/to/dir"
path2 = "/path/to/dir/file.txt"
relative_path = os.path.relpath(path2, path1)
print(relative_path)  

輸出

由於“file.txt”位於“dir”的直接內部,因此相對路徑只是“file.txt”,如下面的輸出所示:

file.txt

示例

在這裡,我們計算從“/path/to/dir1”到“/path/to/dir2/file.txt”的相對路徑:

import os
path1 = "/path/to/dir1"
path2 = "/path/to/dir2/file.txt"
relative_path = os.path.relpath(path2, path1)
print(relative_path) 

輸出

由於“file.txt”位於不同的父目錄中,因此相對路徑包括“../dir2/file.txt”,如下面的輸出所示:

../dir2/file.txt

示例

此示例計算從當前工作目錄到“/path/to/file.txt”的相對路徑:

import os
current_dir = os.getcwd()
file_path = "/path/to/file.txt"
relative_path = os.path.relpath(file_path, current_dir)
print(relative_path)  

輸出

我們得到如下所示的輸出:

../../../../path/to/file.txt 

示例

現在,我們計算從空路徑到“file.txt”的相對路徑。由於其中一個路徑為空,因此該方法返回非空路徑作為結果:

import os
path1 = ""
path2 = "file.txt"
relative_path = os.path.relpath(path2, path1)
print(relative_path)  

輸出

產生的結果如下所示:

file.txt
os_path_methods.htm
廣告