You need to enable JavaScript to run this app. Python如何从给定文件路径列表中提取指定中间层级的文件夹名称
优惠活动
大模型
产品
解决方案
定价
更多

Python如何从给定文件路径列表中提取指定中间层级的文件夹名称

Python提取指定路径文件夹的实现方法

你给出的示例路径均符合 根目录/待提取目录/templates/文件 的固定层级结构,可通过以下两种方式实现:

方法1:字符串分割(简单直接,适合固定格式路径)

直接用split('/')方法按分隔符切割路径,取索引为1的元素即可:

paths = [
    "folder1/folder2/templates/xyz.yaml",
    "folder1/folderx/templates/abc.yaml"
]
target_folders = []
for path in paths:
    # 按斜杠分割后,索引1的位置就是目标文件夹
    parts = path.split("/")
    target_folders.append(parts[1])
print(target_folders) # 输出 ['folder2', 'folderx']

方法2:pathlib模块处理(更规范,支持跨平台路径)

如果需要兼容Windows、Linux不同系统的路径分隔符,推荐用Python标准库的pathlib处理:

from pathlib import Path
paths = [
    "folder1/folder2/templates/xyz.yaml",
    "folder1/folderx/templates/abc.yaml"
]
target_folders = []
for path_str in paths:
    path = Path(path_str)
    # parts属性返回路径所有层级的元组,取索引1的元素
    target_folders.append(path.parts[1])
print(target_folders) # 输出 ['folder2', 'folderx']

如果实际路径层级不固定,你要提取的是templates的上一级目录,可以调整逻辑为定位templates的索引再减1,适配性更强:

for path_str in paths:
    parts = path_str.split("/")
    # 找到templates的下标,上一级就是目标目录
    template_idx = parts.index("templates")
    target_folders.append(parts[template_idx - 1])

内容的提问来源于stack exchange,提问作者Rishi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 01:09:04