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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值