Python 从绝对路径中提取文件名、文件夹名、文件所在目录

概要

需求:已知某个文件的绝对路径,从中提取文件名、文件所在目录、最后一个文件夹的名字。

举例:绝对路径 D:\Test\user\CheckResult.xlsx,从中提取出:

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

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

(3)文件夹完整路径 D:\Test\user

(4)文件夹路径中最后一个文件夹的名字 user

实现方法

以下方法都需要先 import os

1. 获取带扩展的文件名

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

    # 带后缀的文件名
    fileNameExt = os.path.basename(fullpath)

    print(fileNameExt)

输出为:

CheckResult.xlsx

2. 获取不带扩展的文件名

有两种方法,最终效果是一样的。

方法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()方法将完整路径拆分成两部分,扩展以及除了扩展以外的所有内容。在这个示例中,D:\Test\user\CheckResult.xlsx 被拆分为了下面2个字符串,并返回到dirPath和ext中。

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

第二步,使用split()方法,以"\"为字符串分割,索引[-1]表示最后一个元素。从D:\Test\user\CheckResult这个路径中提取出最后一个文件夹的名字。

结果输出为:

CheckResult

3. 获取文件夹完整路径

    fullpath = r'D:\Test\user\CheckResult.xlsx'
    # 文件夹路径
    currentDir = os.path.dirname(fullpath)

    print(currentDir)

输出为

D:\Test\user

4. 获取最后一个文件夹的名字

    fullpath = r'D:\Test\user\CheckResult.xlsx'
    # 最后一个文件夹的名字
    currentDir = os.path.dirname(fullpath)
    folderName = os.path.basename(currentDir)

    print(folderName)

输出为:

user

你可能感兴趣的:(Python学习,python,开发语言)