You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在os.walk中仅显示目录名称而非完整路径

实现os.walk输出目录名称而非完整路径

方法一:使用os.path.basename()(兼容所有Python版本)

如果你只需要输出起始目录的名称(即目标路径的最后一级),可以在遍历到顶层目录后终止循环:

import os

target_dir = "/home/lungsang/Desktop/levelpack-UI/content/A0/1 docx-raw"
for root, dirs, files in os.walk(target_dir):
    print(os.path.basename(root))
    break  # 停止遍历子目录,仅输出顶层目录名

如果需要遍历所有子目录并输出每个目录的最后一级名称,去掉break即可:

import os

for root, dirs, files in os.walk("/home/lungsang/Desktop/levelpack-UI/content/A0/1 docx-raw"):
    print(os.path.basename(root))

方法二:使用pathlib模块(Python 3.4+ 推荐)

pathlib提供了更直观的路径操作方式:
仅输出起始目录名称:

from pathlib import Path

target_dir = Path("/home/lungsang/Desktop/levelpack-UI/content/A0/1 docx-raw")
print(target_dir.name)

遍历所有子目录并输出每个目录名称:

from pathlib import Path

target_dir = Path("/home/lungsang/Desktop/levelpack-UI/content/A0/1 docx-raw")
for dir_path in target_dir.rglob("*"):
    if dir_path.is_dir():
        print(dir_path.name)

说明:os.path.basename()和Path.name都会提取路径的最后一部分,正好对应你需要的目录名称。如果只需要起始目录名,添加break可以避免不必要的子目录遍历,提升效率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 02:50:40