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

如何用Python的pathlib模块仅打印文件夹中的子文件夹内容?

仅打印文件夹的解决方案

你可以通过在循环中加入is_dir()的条件判断来筛选出文件夹,之前没生效应该是没把判断逻辑正确整合到代码里。下面是修正后的代码:

import pathlib

rd = pathlib.Path(r"E:\Location\MainFolder")  # 用原始字符串避免Windows路径的转义问题,也可将反斜杠改为双反斜杠

for td in rd.iterdir():
    if td.is_dir():  # 仅当当前路径为文件夹时执行打印
        print(td)

另外还有几种更简洁的实现方式:

  1. 用生成器表达式直接过滤结果:
import pathlib

rd = pathlib.Path(r"E:\Location\MainFolder")
for folder in (item for item in rd.iterdir() if item.is_dir()):
    print(folder)
  1. 使用glob()方法匹配文件夹(*/专门匹配一级子文件夹):
import pathlib

rd = pathlib.Path(r"E:\Location\MainFolder")
for folder in rd.glob("*/"):
    print(folder)
  1. 如果需要递归遍历所有层级的子文件夹,可使用rglob():
import pathlib

rd = pathlib.Path(r"E:\Location\MainFolder")
for folder in rd.rglob("*/"):
    print(folder)

补充:Windows路径中的单个反斜杠会被视为转义字符,建议用原始字符串(前缀r)或双反斜杠来定义路径,避免解析错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 09:05:20