标签导航:

python如何高效提取文件路径字符串中的所有文件夹名称?

Python文件路径解析:轻松提取文件夹名称

在处理文件路径时,经常需要提取路径中的所有文件夹名称。例如,给定路径"d:/aaa/bbbb/cc/123.jpg",如何快速提取"aaa"、"bbbb"和"cc"?本文介绍一种利用Python pathlib模块的优雅方法。

许多文件路径都遵循类似结构:磁盘路径 + 多个文件夹 + 文件名。 直接用字符串操作虽然可行,但代码复杂且难维护。pathlib模块提供更简洁、更Pythonic的解决方案。

pathlib是Python 3.4+内置模块,以面向对象的方式处理文件路径。我们可以用pathlib.Path对象解析路径字符串,方便访问其组成部分。

以下代码演示如何用pathlib提取文件夹名称:

import pathlib

path_string = "D:/aaa/bbbb/cc/123.jpg"
p = pathlib.Path(path_string)
# p.parts 返回一个元组,包含路径的各个组成部分
print(p.parts)  # ('D:\', 'aaa', 'bbbb', 'cc', '123.jpg')

# 切片操作 [1:-1] 去除盘符和文件名,只保留文件夹名称
folder_names = list(p.parts[1:-1])
print(folder_names)  # ['aaa', 'bbbb', 'cc']

代码先将路径字符串转换为pathlib.Path对象。p.parts属性返回一个包含路径所有组成部分的元组。通过切片[1:-1],轻松去除盘符和文件名,只保留文件夹名称。最后转换为列表方便使用。

这种方法适用于各种路径结构,具有良好的通用性和可读性。