Python 從絕對路徑中提取文件名、文件夾名、文件所在目錄

概要
需求:已知某個文件的絕對路徑,從中提取文件名、文件所在目錄、最后一個文件夾的名字。

舉例:絕對路徑 D:\Test\user\CheckResult.xlsx,從中提取出:

(1)文件名(包含擴展名):CheckResult.xlsx

(2)文件名(不包含擴展名):CheckResult

(3)文件夾完整路徑 D:\Test\user

(4)文件夾路徑中最后一個文件夾的名字 user

實現(xiàn)方法
以下方法都需要先 import os

  1. 獲取帶擴展的文件名
    fullpath= r'D:\Test\user\CheckResult.xlsx'

    帶后綴的文件名

    fileNameExt = os.path.basename(fullpath)

    print(fileNameExt)
    輸出為:

CheckResult.xlsx

  1. 獲取不帶擴展的文件名
    有兩種方法,最終效果是一樣的。

方法1.使用split()
split()通過分隔符對字符串切片,split('.')[0]意思是以'.'為分隔符,并取序列為0的項。

fullpath = r'D:\Test\user\CheckResult.xlsx'

# 不帶后綴的文件名
fileName= os.path.basename(fullpath).split('.')[0]

print(fileName)

輸出為:

CheckResult

方法2.使用splitext()
fullpath= r'D:\Test\user\CheckResult.xlsx'

# 不帶后綴的文件名 CheckResult
dirPath, ext = os.path.splitext(fullpath)
fileName = dirPath.split("\\")[-1]

print(fileName)

第一步,splitext()方法將完整路徑拆分成兩部分,擴展以及除了擴展以外的所有內(nèi)容。在這個示例中,D:\Test\user\CheckResult.xlsx 被拆分為了下面2個字符串,并返回到dirPath和ext中。

(1)D:\Test\user\CheckResult
(2).xlsx

第二步,使用split()方法,以""為字符串分割,索引[-1]表示最后一個元素。從D:\Test\user\CheckResult這個路徑中提取出最后一個文件夾的名字。

結(jié)果輸出為:

CheckResult

  1. 獲取文件夾完整路徑
    fullpath = r'D:\Test\user\CheckResult.xlsx'

    文件夾路徑

    currentDir = os.path.dirname(fullpath)

    print(currentDir)
    輸出為

D:\Test\user

  1. 獲取最后一個文件夾的名字
    fullpath = r'D:\Test\user\CheckResult.xlsx'

    最后一個文件夾的名字

    currentDir = os.path.dirname(fullpath)
    folderName = os.path.basename(currentDir)

    print(folderName)
    輸出為:

user

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容