一、Python os.path.relpath()
Python os.path.relpath()方法返回相對路徑。它從start到path的相對路徑可以表示為相對於當前工作目錄的相對路徑。start和path參數很容易理解:
import os
path = os.path.relpath('my_folder/my_file.txt', 'my_folder')
print(path)
該示例返回:’my_file’。
對於這個示例來說,我們在開始的時候已經位於’my_folder’文件夾里,所以它是相對於我們的位置的。可以使用 os.getcwd() 函數來獲取當前工作目錄:
import os
os.getcwd()
注意:relpath() 函數需要該路徑存在於文件系統中。
二、os.path.abspath()獲取絕對路徑
要在 Python 中返回某個路徑的絕對路徑,可以使用 os.path.abspath() 函數:
import os
path = os.path.abspath('my_folder/my_file.txt')
print(path)
該示例返迴文件絕對路徑,例如: ‘/home/username/my_folder/my_file.txt’
三、os.path.dirname()獲取上級目錄名
可以輕鬆地從路徑中獲取上級目錄,這可以通過 os.path.dirname() 函數輕鬆實現。該函數返回指定路徑的母文件夾路徑,如果指定的路徑指向文件夾,則返回上一級目錄:
import os
path = '/my_folder/my_sub_folder/my_file.txt'
parent_folder = os.path.dirname(path)
print(parent_folder)
該示例返回:’/my_folder/my_sub_folder’
四、os.path.join()連接路徑
os.path.join()方法將元素連接到路徑中,然後按照正確的順序處理斜杠。 不需要手動注入斜杠符號,os.path.join() 方法將根據需要注入斜杠。
例如,以下示例使用 os.path.join() 方法構建路徑:
import os
my_folder = '/path/to/folder'
my_sub_folder = 'my_sub_folder'
my_file = 'my_file.txt'
path = os.path.join(my_folder, my_sub_folder, my_file)
print(path)
該示例返回: ‘/path/to/folder/my_sub_folder/my_file.txt’
五、os.path.split()獲取路徑的文件名和目錄
os.path.split() 方法以元組的形式返迴路徑的文件名和目錄部分:
import os
path = '/my_folder/my_sub_folder/my_file.txt'
directory, file_name = os.path.split(path)
print(directory)
print(file_name)
該示例返回:
/my_folder/my_sub_folder
my_file.txt
六、小結
Python os.path.relpath() 方法很有用,在處理文件和文件夾路徑時非常常用。配合其他 os.path 模塊下的方法,如 abspath(), dirname(), join(), split(),可以非常高效處理文件目錄的相關操作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/196312.html