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

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

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

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

结果输出为:

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容